mysql绿色版(免安装版本)的安装与卸载
1、下载压缩包,解压
2、配置环境变量
PATH:%MYSQL_HOME%bin
3、在安装目录下新建my.ini配置文件
[mysql]
default-character-set=utf8
[mysqld]
basedir=D:DevToolsmysql-5.7.20-winx64
datadir=D:DevToolsmysql-5.7.20-winx64data
port=3306
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
4、安装服务
进入MYSQL安装路径/bin目录下,以管理员身份运行cmd:
mysqld install
或者
mysqld --install MySQL --defaults-file="D:DevToolsmysql-5.7.20-winx64my.ini",指定路径,
其中的MySQL是安装服务器的名称,可以指定任何名称。安装完成后会提示下面的信息:Service successfully installed,即表示成功安装,安装成功后会在系统的服务组策中添加该服务,在使用时只需要开启即可。
注意:
在运行安装命令时一定要注意必须cmd内的路径问题,该路径必须在mysql的bin所在的路径,比如我的mysql解压到D:Program Files(x86)MySql文件夹中,那么cmd当前路径就必须为D:Program Files(x86)MySqlbin,否则在安装完成后启动服务时会出现发生错误提示。系统找不到指定的文件
如果出现以上提示,可在注册表中修改:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmysql
5、初始化data
新版mysql解压后安装目录没有data文件夹,需要初始化,注意不能手动创建,因为初始的时候还随机生成了一个初始root密码,初始化命令如下所示:
mysqld --initialize
没有任何提示说明初始化成功,在data文件夹下找到一个xxx.err的文件,最后一行是root的初始密码:h4Owt/wXudOD
重新设置密码(若提示Can't connect to MySQL server on 'localhost' (10061),说明MySQL服务没起,应先执行net start mysql,若无法启动服务,重启电脑就行了):
mysql -u root -p,
输入初始密码,
set password = password('123456');
6、常用MySQL服务命令:
启动:net start MySQL
停止:net stop MySQL
删除:mysqld --remove MySQL
或者在服务中启动
7、卸载MySQL服务
卸载原mysql服务,重新安装:
mysql安装版(非绿色版)的安装方法
一、安装和卸载
Mysql安装路径:
C:Program FilesMySQLMySQL Server 5.5
Mysql数据文件存放的路径:
C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.5
卸载的时候要把两个路径都删掉(my.ini配置文件中可以找到这两个路径)
mysql默认端口号:3306
mysql的默认字符集是latin1:(不支持中文.),改为utf8
Include bin Directory in Windows PATH.需要将其前面的钩 勾选上.不勾的话,在cmd窗口下无法识别sql命令,就得自己配置环境变量。
设置mysql最高管理员密码.
最后界面四个钩
点击Execute按钮,四个勾都选中则安装成功。
测试mysql数据库是否安装成功.(root:最高管理员的用户名就叫root)
cmd> mysql -u root -p 回车
卸载:
去mysql安装路径下 my.ini
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
控制面板中卸载,然后手动删除以上两个文件夹。
mysql在阿里云服务器上安装与卸载
1、安装rpm包
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
2、安装mysql
yum -y install mysql-community-server
3、加入开机启动
systemctl enable mysqld
4、启动MySQL服务进程
systemctl start mysqld
5、配置root用户密码
mysql_secure_installation
6、开启新的shell窗口,连接数据库
mysql -u root -p
输入密码登录即可。
重置登录密码
- 1.停止mysql服务. services.msc进入服务界面 停止mysql服务
- 2.打开一个cmd窗口. 输入mysqld --skip-grant-tables 启动了一个新的mysql服务 跳过了权限.(窗口千万不要关闭.)
- 3.新打开一个cmd窗口. 输入mysql -u root -p 回车
- 4.不需要输入密码直接可以进入.
- 5.输入命令 use mysql; 使用mysql数据库.
- 6.输入命令 update user set password=password('123456') where user='root';
- 7.关闭两个cmd窗口.在进程中结束mysqld的进程.
- 8.重启服务.
开启远程连接
1、root 用户登陆 MySQL
输入“cmd”,进入控制台,
登录数据库: mysql -u root -p
查看用户的f访问主机权限: use mysql; select host,user from user;
2、创建远程登陆用户并授权
grant all privileges on db_blog3.* to root@'192.168.136.131' identified by '123456';
或
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
3、立即生效(必须)
flush privileges;
生效后,在名为mysql的数据库的user表中会看到多了一条记录。
解释:
all privileges:赋予所有权限给指定用户;
db_blog3.*:数据库的所有表;
root:root用户,表示给哪个用户授权,此处是给root;
192.168.136.131:允许root用户在哪个远程IP登录,设置为'%',表示不限制IP;
123456:设置远程访问的密码
创建用户并限制访问
1、创建用户
create user 'remote_ahqy'@'%' identified by 'remote_ahqy';
2、创建视图
create view view_equip_detail as select equip_id,equip_no,equip_name from equip_detail;
3、授权访问
--表
grant select on guard_pro.equip_detail to 'remoteuser'@'%' identified by '123456';
--视图
grant select on guard_pro.view_equip_detail to 'remoteuser'@'%' identified by '123456';
4、登录数据库
可以看到,使用remoteuser用户登录进来只能看到guard_pro库下的equip_detail表
mysql caching_sha2_password异常分析
使用navicat连接mysql报错
解决办法:
通过命令行登录mysql后,
输入:
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
更改root账户使用的验证插件为mysql_native_password。
中文乱码或提示ERROR 1366 (HY000): Incorrect string value: 'xC3xF7' for column 'name' at row 1 ;
插入一条中文记录: 语句: insert into employee(id,name,job,salary) values(4,'小明','清洁员',1500); 提示: ERROR 1366 (HY000): Incorrect string value: 'xC3xF7' for column 'name' at row 1 ; 原因: mysql client 采用默认字符集编码 gbk 查看字符集: show variables like 'character%'; 设置字符集: set character_set_results=gbk;或set names gbk; 解决方法: 修改客户端(CMD窗口即为一个客户端)字符集为gbk,这种方法只是临时的;重启CMD窗口仍然乱码。
1045 Access denied for user 'root'@'localhost' (using password:YES)
这个意思是说:用户“root”@本地主机的访问被拒绝。 表面上看是帐号密码错误,实际上可能有更深层次的原因,可以按以下方法排查一下: 1、检查用户名密码是否正确(如果实在忘记了,可以通过上面的方法重设密码) 2、检查MySQL是否正常启动(右键任务栏>任务管理器>服务>打开服务,或者wind r输入services.msc回车,找到MySQL服务,在状态列看看是否正在运行) 3、检查当前启动的MySQL服务是否是你安装的那个,看下图中可执行文件的路径(有些程序比如宝塔,织梦套装等安装的MySQL也注册了服务,而且被设置为开机启动,把原来的给替换掉了,因为服务变了,帐号密码自然也变了)
4、如果是上面的原因,需要把该服务删掉(命令:mysqld --remove MySQL),再按上面的教程重新安装。
查询库中所有表所占空间大小
SELECT CONCAT(table_schema,'.',table_name) AS 'TABLE_NAME', CONCAT(ROUND(table_rows / 1000000, 4),'M') AS 'ROW_SIZE', CONCAT(ROUND(data_length / (1024 * 1024),2),'M') AS 'DATA_SIZE', CONCAT(ROUND(index_length / (1024 * 1024),2),'M') AS 'INDEX_SIZE', CONCAT(ROUND((data_length index_length) / (1024 * 1024),2),'M') AS 'TOTAL_SIZE' FROM information_schema. TABLES WHERE table_schema = 'bootdo' ORDER BY 3 desc;