Linux(17)——Mysql配置
1. Mariadb 安装启用
Mariadb的默认端口号为:3306
主配置文件:/etc/my.cnf.d/mariadb-server.cnf
数据目录:/var/lib/mysql
需要卸载或重新安装时需要清理数据目录。
- 安装启用
[root@rhclient Desktop]# dnf install mariadb-server.x86_64 -y
[root@rhclient Desktop]# systemctl enable --now mariadb
- 初始化
[root@rhclient Desktop]# vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-networking=1 #关闭网络接口
[root@rhclient Desktop]# systemctl restart mariadb
[root@rhclient Desktop]# netstat -antlupe | grep mysql #无开放端口
[root@rhclient Desktop]# mysql_secure_installation #安全初始化
2. 数据库管理
-
查看数据
SHOW DATABASES; #显示库名称 USE mysql; #进入mysql库 SHOW TABLES; #显示库中的所有表 SELECT * FROM user; #查询所有数据 SELECT Host,Password FROM user; #查询指定字段
-
新建
CREATE DATABASE redhat; #新建库 CREATE TABLE linux ( username varchar(6) not null, password varchar(30) not null ); #新建表 DESC linux; #显示表结构 INSERT INTO linux VALUES ('user1','123'); #向linux表中插入数据 FLUSH PRIVILEGES; #刷新数据库
-
更改
ALTER TABLE ce RENAME linux; #将linux重命名为ce ALTER TABLE linux ADD age varchar(4) AFTER password; #在password后插入age ALTER TABLE linux DROP age; #删除表age列 UPDATE linux SET password='123' WHERE username='user2'; #更改user2 的密码为123
-
删除
DELETE from linux where username='user2' and age='18'; #删除表linux中user2并age未18的数据 DROP TABLE linux; #删除表 DROP DATABASE redhat; #删除库
3. 用户管理
CREATE USER user@localhost identified by '123';
#只能本地登录
CREATE USER user@'%' identified by '123';
#可以本地或网络登录
GRANT INSERT,SELECT ON redhat.* TO user@localhost;
#为本地的user用户授权访问
#redhat数据库的所有内容
SHOW GRANTS for user@localhost; #查看用户权限
REVOKE SELECT ON redhat.* FROM user@localhost;
#撤销用户权限
DROP user user@localhost; #删除用户权限
4. 用户密码管理
- 修改密码
[root@rhclient Desktop]# mysqladmin -uroot -pBefore password After
- 强制修改
[root@rhclient Desktop]# systemctl stop mariadb #停止数据库服务
[root@rhclient Desktop]# mysqld_safe --skip-grant-tables & #进入安全模式
#进入mysql:
UPDATE mysql.user set Password=password('111') WHERE User='root';
#未使用mysqladmin 修改过密码
UPDATE mysql.user set authentication_string=password('111') WHERE User='root';
#使用mysqladmin 修改过密码
flush privileges; #刷新设置
ps aux | grep mysql #查询mysql进程
kill -9 mysql #清除mysql的进程
systemctl start mariadb #重启mariadb
5. 数据库备份
- 备份
[root@rhclient Desktop]# mysqldump -uroot -p111 --all-database #输出所有数据库数据
[root@rhclient Desktop]# mysqldump -uroot -p111 --all-database --no-data #输出所有数据库结构,不含数据
[root@rhclient Desktop]# mysqldump -uroot -p111 redhat #输出redhat数据
[root@rhclient Desktop]# mysqldump -uroot -p111 redhat> /mnt/redhat.sql #输出redhat数据至/mnt/redhat.sql
-
恢复
使用命令建立
[root@rhclient Desktop]# mysql -uroot -p123 -e "create database redhat;"
[root@rhclient Desktop]# mysql -uroot -p123 redhat< /mnt/redhat.sql
直接使用文件建立
[root@rhclient Desktop]# vim /mnt/redhat.sql
CREATE DATABASE redhat;
USE redhat;
[root@rhclient Desktop]# mysql -uroot -p123 < /mnt/redhat.sql
6. WEB管理数据库
安装php组件与Apache
[root@rhclient Desktop]# dnf install httpd php php-mysqlnd -y
[root@rhclient Desktop]# systemctl enable --now httpd
[root@rhclient Desktop]# systemctl stop firewalld
解压至Apache共享目录
[root@rhclient Desktop]# cp phpMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/
[root@rhclient Desktop]# cd /var/www/html/
[root@rhclient Desktop]# tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz
[root@rhclient Desktop]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
[root@rhclient Desktop]# cd mysqladmin
修改配置文件
[root@rhclient Desktop]#cp config.sample.inc.php config.inc.php
[root@rhclient Desktop]#vim config.inc.php
$cfg['blowfish_secret'] = '222222';
通过http://ip/mysqladmin,访问即可