更多内容可移驾至我的独立Blog: http://www.justfbt.com/
列举出当前不需要密码的用户:
shell > SELECT User, Host, Password FROM mysql.user;
列举出不需要密码可以连接的db:
shell > select user,db from mysql.db;
root密码的设定可以有三种方式:
1).update
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
2).set password
shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
3).mysqladmin
shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"
允许远程root用户登录
mysql> grant all privileges on *.* to 'root'@'192.168.1.111' identified by 'y}%oTiaU -3' with grant option;
mysql> flush privileges;
删除空用户:
mysql>drop user ''@'localhost';
mysql>drop user ''@'mariadb\_server';
测试数据库的安全保障:
shell> mysql -u root -p
Enter password: (enter root password here)
mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';
mysql> FLUSH PRIVILEGES;
彻底删除测试数据库
mysql> drop database test;
设置mariadb数据库默认字符集
mariadb默认的数据库字符集为latin1,如果需要修改为支持中文字符的数据库,则需要修改以下配置参数。
vim /etc/my.cnf
[mysqld]
...
character-set-server=utf8
-- service mariadb restart
[注] 在数据库创建的时候必须做好字符集的规划,在后期修改字符集可能会导致数据丢失。
note:
重启系统后报错找不到对应的/usr/local/mysql/bin/mysqld
原因是mysqld只认mysql/bin下面的mysqld,因此需要做一个链接到正确的mariadb/bin/mysqld