一、下载mysql安装包,解压安装文件,修更名称为mysqlmysql
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
二、在mysql文件夹下建立data目录linux
mkdir data
三、建立 mysql 用户组和 mysql 用户sql
groupadd mysql useradd -g mysql mysql
四、改变 mysql 目录权限数据库
chown -R mysql:mysql /opt/tools/mysql
五、建立mysql配置文件my.cnfvim
vim /etc/my.cnf 文件内容以下 [client] port=3306 socket=/opt/tools/mysql/mysql.sock [mysqld] port=3306 user=mysql socket=/opt/tools/mysql/mysql.sock basedir=/opt/tools/mysql datadir=/opt/tools/mysql/data log-error=/opt/tools/mysql/logs/error.log
六、初始化mysqlsocket
一、bin/mysqld --initialize --user=mysql --basedir=/opt/tools/mysql/ --datadir=/opt/tools/mysql/data/ 注意此种方式初始化mysql默认密码显示在my.cnf文件中的配置的日志log-error指定的日志文件中,即/opt/tools/mysql/logs/error.log中 找到日志中的 rfUwQep;X4o= 这就是密码 2018-11-02T04:57:08.918454Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rfUwQep;X4o= 二、bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/tools/mysql/ --datadir=/opt/tools/mysql/data/ -insecure 设置为生成没有密码的root用户
七、启动mysql服务函数
support-files/mysql.server start
八、修改默认密码测试
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
安装过程当中遇到的各类问题:this
一、启动mysql后没有密码登陆不了,root用户空密码登陆不了,正常启动MYSQL服务后,敲Linux中root帐户和密码进入不去。加密
注意:skip-grant-table启动没法执行ALTER user 'root'@'localhost' IDENTIFIED BY '123456' 一、在/etc/my.cnf配置文件中加入skip-grant-table,即屏蔽密码验证 vim /etc/my.cnf 二、在 [mysqld]最后加上skip-grant-tables语句 并保持退出文件 三、重启mysql服务 service mysqld restart 四、启动后登陆mysql mysql -u root -p 五、查看用户列表 select host, user, authentication_string, plugin from user; host: 容许用户登陆的ip‘位置’%表示能够远程; user:当前数据库的用户名; authentication_string: 用户密码;在mysql 5.7.9之后废弃了password字段和password()函数 六、修改密码,若是当前root用户authentication_string字段下有内容,先将其设置为空 use mysql; update user set authentication_string='' where user='root'; 七、退出mysql, 删除/etc/my.cnf文件最后的 skip-grant-tables 八、重启mysql服务 九、登陆mysql终端,提示密码直接敲Enter mysql -uroot 十、修改密码 ALTER user 'root'@'localhost' IDENTIFIED BY '123456'
二、MySQL 1130 错误,没法远程链接
错误:ERROR 1130: Host 'xxx.xxx.xxx.xxx' is not allowed to connect to thisMySQL serve
错误1130:主机192.168.1.3”不容许链接到thismysql服务
缘由:被链接的数据不容许使用 xxx.xxx.xxx.xxx访问,只容许是用 localhost;
一、登陆mysql mysql -u root -p 123456 use mysql; select 'host' from user where user='root'; update user set host = '%' where user ='root'; flush privileges; select 'host' from user where user='root'; 运行完毕后再次链接测试,若还不行重启mysql服务
三、Navicat链接Mysql 出现1251错误
由于mysql8 以前的版本中加密规则是mysql_native_password,而在mysql8以后,加密规则是caching_sha2_password
一、修改加密规则 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 二、更新一下用户的密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '要修改的密码'; 三、刷新权限 FLUSH PRIVILEGES;