CentOS最牛逼,没有之一,不接受任何反驳.
好,回归正题,debian如何快速的安装mysql进行使用呢?
apt-get install mysql-server mysql-client
一条命令安装,安装完成后就可以登录了。
启动和关闭的命令
systemctl start mariadb
systemctl statys mariadb
装完后默认应该是启动的,如果没启动执行下systemctl start mariadb即可
启动后我们连接mysql
root@xxx:/var/log/mysql# mysql -uroot -p
MariaDB [(none)]>
然后会发现直接连上去了,那么下面我们去修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
修改后退出到终端,再次连接
root@xxx:/var/log/mysql# mysql -uroot -p
MariaDB [(none)]>
mmp 你会发现修改的密码根本没生效,任意密码都可以连,卧槽什么鬼?
查了半天文档,发现debian默认的用户登录使用了unix_socket模块,即在本地登录的话root账户无需密码即可登录。
1 正常mysql
2 mysql> select user, plugin from mysql.user where plugin = 'mysql_native_password';
3 +-----------+-----------------------+
4 | user | plugin |
5 +-----------+-----------------------+
6 | root | mysql_native_password |
7 +-----------+-----------------------+
8 8 rows in set (0.00 sec)
1 不正常的
2
3 MariaDB [(none)]> select user, plugin from mysql.user;
4 +------+-------------+
5 | user | plugin |
6 +------+-------------+
7 | root | unix_socket |
8 +------+-------------+
9 1 row in set (0.00 sec)
好了 知道问题后,我们处理下,上边已经修改过密码了,我们直接修改默认账户的连接模块。
#首先使用了这种
update mysql.user set plugin = ''where User='root';
flush privileges;
#另外一种自己测吧
update mysql.user set plugin = 'mysql_native_password' where User='root';
flush privileges;
现在再退出mysql连接终端,再次连接的时候发现要输入密码了,密码为上边设置的。