首页 存档 技术 查看内容

【干货】MySQL 安装与安全优化

2018-3-30 13:00 |来自: 互联网 322 0

摘要: Ubuntu 环境下 MySQL 安装与安全优化。安装 sudo apt-get updatesudo apt-get install mysql-server mysql-client # 设置root密码# 设置数据库目录sudo mysql_install_db# 移除匿名帐户,禁用root远程登录sudo mysql ...

Ubuntu 环境下 MySQL 安装与安全优化。安装

sudo apt-get updatesudo apt-get install mysql-server mysql-client # 设置root密码# 设置数据库目录sudo mysql_install_db# 移除匿名帐户,禁用root远程登录sudo mysql_secure_installation # 回答n,y,y,y,y 

设置默认字符集
中文环境下,设置 utf8 为默认字符集,防止出现乱码。

$ sudo vi /etc/mysql/my.cnf
[mysqld]
collation-server = utf8_unicode_ci 
init-connect = 'SET NAMES utf8' character-set-server = utf8:wq保存配置,重启MySQL
$ sudo service mysql restart# 查看字符集设置$ mysql -u root -p
show variables like 'char%'; 
show variables like 'collation%'; 
加强 MySQL 安全

迁移数据库目录MySQL 数据库默认路径 /var/lib/mysql,实际工作中,常常需要定制数据库路径,比如 /data/mysql,或者 /opt/mysql,可以是单独的数据盘或者分区,这样有利于性能调优和保护数据安全,同时也方便进行维护。
使用mysql_install_db重新初始化 datadir :

mkdir -p /data/mysql 
chown -R mysql:mysql /data/mysql 
mysql_install_db --user=mysql --basedir=/usr --datadir=/data/mysql 
rm -rf /var/lib/mysql 

禁用远程访问等

$ sudo vi /etc/mysql/my.cnf
[mysqld]
datadir = /var/lib/mysql #数据库文件目录 
bind-address = 127.0.0.1 #只允许本机访问,或 
skip-networking #禁用网络(但本机可以访问) 
skip-show-database #禁用SHOW DATABASES # 可增加:local-infile=0 #禁止加载本地文件,防止类似:SELECT load_file("/etc/passwd");

$ mysql -u root -puse mysql UPDATE user SET Host='localhost' WHERE Host="%"; 

用户名优化

DROP USER ""; # 或 DELETE FROM user WHERE User=""; RENAME USER root TO new_user; # 或 update user set user="new_user" where user="root"; # 或 rename user 'root'@'localhost' to 'newAdminUser'@'localhost'; 

密码优化

UPDATE user SET Password=PASSWORD('newPassWord') WHERE User="user"; # or SET PASSWORD FOR 'username'@'%hostname' = PASSWORD('newpass'); select user,host,password from user; FLUSH PRIVILEGES; 
# 或
$ mysqladmin -u username -p password newpass

清空命令历史客户端工具 mysql 会将执行的命令记录在当前用户目录下的 .mysql_history 文件中,其中可能包含密码等敏感信息。

cat /dev/null
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部