hjh@AliECS:/home/hjh$ cat /etc/mysql/debian.cnf #Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = SDr2K4V3OFSD46t7 socket = /var/run/mysqld/mysqld.sock
这个password用于下一步验证
plaintext
hjh@AliECS:/home/hjh$ mysql -udebian-sys-maint -p SDr2K4V3OFSD46t7(修改) mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; 或者> alter user '用户名'@'登录主机' identified by '密码(自定义)'; 这种方式
此时依然会不生效,需要修改验证策略:
plaintext
mysql> use mysql; mysql> select user, plugin from user; +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | root | auth_socket | | debian-sys-maint | caching_sha2_password | | mysql.infoschema | caching_sha2_password | | mysql.session | caching_sha2_password | | mysql.sys | caching_sha2_password | +------------------+-----------------------+ 5 rows in set (0.00 sec) mysql> update user set plugin='caching_sha2_password' where user='root'; mysql> flush privileges;
重启服务:sudo service mysql restart。
目前只是步骤是这样,但是新的加密方式sha2()需要我们在设置密码时注意加密方式,目前有待验证。
远程访问Aliyun ECS Mysql 服务器
要远程登录数据库,需要满足3个前提:
开放ALiyunECS的防火墙3306端口准入;
设置/etc/mysql/mysql.conf.d/mysqld.cnf文件:
plaintext
user = mysql # pid-file = /var/run/mysqld/mysqld.pid # socket = /var/run/mysqld/mysqld.sock port = 3306 ##默认端口 datadir = /var/lib/mysql ..... 注释掉下面的两行,即只能本地访问 #bind-address = 127.0.0.1 #mysqlx-bind-address = 127.0.0.1
有一个可以远程登录的账号, 创建新用户
plaintext
mysql> use mysql; mysql> CREATE USER 'typecho' IDENTIFIED BY '$passwd';