资料来自:https://www.cnblogs.com/starof/p/4680083.html
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
安装成功后启mysql服务
systemctl enable mysqld.service
systemctl start mysqld.service
初次安装mysql,root账户没有密码
mysql -u root
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)
设置密码
mysql> set password for 'root'@'localhost' =password('password');
Query OK, 0 rows affected (0.00 sec)
mysql>
远程连接设置
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
mysql> grant all privileges on *.* to root@'%'identified by 'password';
如果是新用户而不是root,则要先新建用户
mysql>create user 'username'@'%' identified by 'password';
此时就可以进行远程连接了。
编码
mysql配置文件为/etc/my.cnf
最后加上编码配置
[mysql]
default-character-set =utf8
这里的字符编码必须和/usr/share/mysql/charsets/Index.xml中一致。
排查错误:
[root@localhost ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
在/etc/my.cnt文件的[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
直接输入mysql进入
接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
重新进入mysql
mysql -u root -p
提示输入密码
Enter password:
此时输入密码,进入 mysql>
此时执行命令,还是会报错:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
重新执行一次设置命令:
set password for 'root'@'localhost' =password('12345678');
此后再执行命令就正常了。