Linux安装mysql8
1.更新下yum
[root@hadoop001 mysql]# yum -y update
2.确认系统版本(),从官网下载https://dev.mysql.com/downloads/repo/yum/对应的安装包
mysql80-community-release-el7-11.noarch.rpm,进行本地安装
[root@hadoop001 mysql]# ls mysql80-community-release-el7-11.noarch.rpm [root@hadoop001 mysql]# yum localinstall mysql80-community-release-el7-11.noarch.rpm
2.安装 mysql-community-server
[root@hadoop001 mysql]# yum -y install mysql-community-server
3.启动mysql,并从日志中查看初始密码
[root@hadoop001 mysql]# systemctl start mysqld [root@hadoop001 mysql]# cat /var/log/mysqld.log
4.接下来修改初始密码
1)一般来说按照上述给定的初始密码能成功登录mysql!
首先就是要重置密码,不然使用任何其他语句都会报以下错误
首次重置密码一定要符合复杂性要求,不然会报错。
成功改完密码后就可以正常使用其他语句了,可以查看一下当前对密码的复杂性要求参数
mysql> alter user 'root'@'localhost' identified by 'mysql@123M>'; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.02 sec) mysql> SHOW VARIABLES LIKE 'validate_password%'; +-------------------------------------------------+--------+ | Variable_name | Value | +-------------------------------------------------+--------+ | validate_password.changed_characters_percentage | 0 | | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM | | validate_password.special_char_count | 1 | +-------------------------------------------------+--------+ 8 rows in set (0.01 sec)
改低一点
mysql> set global validate_password.policy=LOW; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password.length=4; Query OK, 0 rows affected (0.00 sec)
发现可以改成以下密码也不会报错了
mysql> alter user 'root'@'localhost' identified by 'mysql'; Query OK, 0 rows affected (0.00 sec)
2)但如果遇到下面问题,
就换种方式,先改下文件,添加 skip-grant-tables
[root@hadoop001 mysql]# vim /etc/my.cnf
然后重启mysql
[root@hadoop001 mysql]# systemctl restart mysqld;
现在可以不输入密码直接回车进入mysql
[root@hadoop001 mysql]# mysql -u root -p
修改密码,要符合规定,记得flush privileges一下
mysql> use mysql;
mysql> alter user 'root'@'%' identified by 'mysql@123'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges;
5.删除 skip-grant-tables,重启mysql,就可以用新密码进去了
6.关于设置远程登录,补充下
这里报错可以看到是什么原因了
重置一下,其实应该只要改root对应哪个,我索性都改了,因为自用也没什么关系
mysql> update user set host = '%' ; Query OK, 4 rows affected (0.01 sec) Rows matched: 4 Changed: 4 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> alter user 'root'@'%' identified by 'mysql'; Query OK, 0 rows affected (0.00 sec)