分享更有价值
被信任是一种快乐

MySQL如何配置安全性、易用性

文章页正文上

这篇文章给大家分享的是有关MySQL如何配置安全性、易用性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、设定管理员用户和密码
清除不安全的用户信息,设定管理员用户为system,密码为mysql。
具体操作步骤如下:
[mysql@JY-DB ~]$ mysql
Welcome to the MySQL monitor.
Commands end with ; or g.
Your MySQL connection
id is 1
Server version:
5.6.30-log JSS for mysqltest
Copyright (c) 2000,
2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered
trademark of Oracle Corporation and/or its
affiliates. Other
names may be trademarks of their respective
owners.
Type ‘help;’ or ‘h’
for help. Type ‘c’ to clear the current input statement.
(root@localhost)[(none)]>
(root@localhost)[(none)]>
select user, host from mysql.user;
+——+—————-+
| user | host |
+——+—————-+
| root |
127.0.0.1 |
| root | ::1 |
| | jy-db |
| root | jy-db |
| | localhost |
| root |
localhost |
+——+—————-+
6 rows in set (0.04 sec)
(root@localhost)[(none)]>
delete from mysql.user where (user,host) not in (select ‘root’, ‘localhost’);
Query OK, 5 rows
affected (0.05 sec)
(root@localhost)[(none)]>
update mysql.user set user=’system’, password=password(‘mysql’);
Query OK, 1 row
affected (0.03 sec)
Rows matched:
1 Changed: 1 Warnings: 0
(root@localhost)[(none)]>
flush privileges;
Query OK, 0 rows
affected (0.03 sec)
(root@localhost)[(none)]>
q
Bye
上面修改完成并刷新权限后,再次测试MySQL数据库连接,就必须需要指定用户名和密码登录了。具体操作步骤如下:
[mysql@JY-DB ~]$ mysql
ERROR 1045 (28000): Access
denied for user ‘root’@’localhost’ (using password: NO)
[mysql@JY-DB ~]$
mysql -usystem -pmysql
Warning: Using a
password on the command line
interface can be insecure.
Welcome to the MySQL
monitor. Commands end with ; or g.
Your MySQL connection
id is 6
Server version:
5.6.30-log JSS for mysqltest
Copyright (c) 2000, 2016,
Oracle and/or its affiliates. All rights reserved.
Oracle is a registered
trademark of Oracle Corporation and/or its
affiliates. Other
names may be trademarks of their respective
owners.
Type ‘help;’ or ‘h’
for help. Type ‘c’ to
clear the current input statement.
(system@localhost)[(none)]>二、处理test库权限隐患
查看当前mysql.db信息:
(system@localhost)[(none)]> select * from mysql.db G
*****************免费主机域名********** 1. row
***************************
Host: %
Db: test
User:
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Grant_priv: N
References_priv: Y
Index_priv: Y
Alter_priv: Y
Create_tmp_table_priv:
Y
Lock_tables_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter免费主机域名_routine_priv: N
Execute_priv: N
Event_priv: Y
Trigger_priv: Y
***************************
2. row ***************************
Host: %
Db: test_%
User:
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Grant_priv: N
References_priv: Y
Index_priv: Y
Alter_priv: Y
Create_tmp_table_priv:
Y
Lock_tables_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: N
Execute_priv: N
Event_priv: Y
Trigger_priv: Y
2 rows in set (0.00
sec)
(system@localhost)[(none)]>
处理test库权限安全隐患:
(system@localhost)[(none)]>
truncate table mysql.db;
Query OK, 0 rows
affected (0.04 sec)
(system@localhost)[(none)]>
flush privileges;
Query OK, 0 rows
affected (0.00 sec)
(system@localhost)[(none)]>
select * from mysql.db G
Empty set (0.00 sec)
(system@localhost)[(none)]>三、自定义脚本提升易用性3.1 中间定义文件
创建中间定义文件,提高脚本的复用性。
vi /data/mysqldata/scripts/mysql_env.ini
# set env
MYSQL_USER=system
MYSQL_PASS=’mysql’
# check parameter
if [ $# -ne 1 ]
then
HOST_PORT=3306
else
HOST_PORT=$1
fi
由于文件包含密码等敏感信息,所以为了安全性,必须要修改文件的权限:
chmod 600
/data/mysqldata/scripts/mysql_env.ini
当然,如果对密码安全性要求很高,这里的配置文件中的密码可以置空,后续调用脚本手工输入密码即可。3.2 启动MySQL服务
vi
/data/mysqldata/scripts/mysql_db_startup.sh
#!/bin/sh
source
/data/mysqldata/scripts/mysql_env.ini
echo “Startup MySQL Service:
localhost_”${HOST_PORT}
/usr/local/mysql/bin/mysqld_safe –defaults-file=/data/mysqldata/${HOST_PORT}/my.cnf &3.3 关闭MySQL服务
vi
/data/mysqldata/scripts/mysql_db_shutdown.sh
#!/bin/sh
source
/data/mysqldata/scripts/mysql_env.ini
echo “Shutdown MySQL Service:
localhost_”${HOST_PORT}
/usr/local/mysql/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PASS} -S
/data/mysqldata/${HOST_PORT}/mysql.sock shutdown3.4 快捷登录MySQL
vi
/data/mysqldata/scripts/mysqlplus.sh
#!/bin/sh
source
/data/mysqldata/scripts/mysql_env.ini
echo “Login MySQL Service: localhost_”${HOST_PORT}
/usr/local/mysql/bin/mysql -u${MYSQL_USER} -p${MYSQL_PASS} -S
/data/mysqldata/${HOST_PORT}/mysql.sock $2
最后,统一授予所有自定义脚本执行的权限:
chmod u+x /data/mysqldata/scripts/*.sh
配置mysql用户的环境变量,追加一行:
echo “export PATH=/data/mysqldata/scripts:$PATH”
>> ~/.bash_profile
source ~/.bash_profile
至此,就可以在任意路径下执行脚本,提升了MySQL操作的易用性。四、设置开机自动启动MySQL服务
在上述配置完成的基础上,
就可以直接在root用户下编辑/etc/rc.local文件,追加内容:
# autostart MySQL
sudo -i -u mysql
/data/mysqldata/scripts/mysql_db_startup.sh 3306 >
/home/mysql/mysql_db_startup.log 2>&1感谢各位的阅读!关于“MySQL如何配置安全性、易用性”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐: 百万级高并发mongodb集群性能数十倍提升优化实践是怎样的

百万级高并发mongodb集群性能数十倍提升优化实践是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、背景 线上某集群峰值TPS超过100万/秒左右(主要为写流量,读流量很…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册