Linux(17)——Mysql配置

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,访问即可

上一篇:Redhat Linux6.8安装weblogic1036 遇到Segmentation fault 问题


下一篇:Redhat安装yum源