【中级篇】Linux下搭建MySQL数据库系统

MySQL数据库安装与配置

1.          实验需求:

1)     使用yum安装MySQL数据库

2) MySQL数据库的基本操作(增、删、改、查)

3) MySQL数据库的维护

4) MySQL 数据库的备份与恢复

2.          实验环境:

Linux服务器系统版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.20

WIN7系统客户机: IP: 192.168.10.1

3.      实验步骤:

基本安装操作:

 首先要下载MySQL软件,我这里已经下载好,放在电脑硬盘里,把它共享出来。

 

 

wKiom1aR52_QjLbBAABcn1R1Tes930.png 

wKioL1aR562ibZNXAABMVDs8VvE805.png 

将下载的mysql源码包解压,释放到/opt 

wKiom1aR55GhMWlnAAAwvqOqeC0715.png 

wKioL1aR58vz5S0XAAAK7HUvaJ4546.png 

wKioL1aR5-XSKvc-AAAVzFP3BhY324.png 

 MySQL5.6需要cmake编译安装,所以要先安装cmake包。

wKiom1aR58SyNLkMAAAMIt_0HT8271.png 

   切换到展开后的源码目录

wKiom1aR5-_xq1mgAAA1lwJ2DE4806.png 

 配置:  

wKioL1aR6C2RVgxTAACKVRGf9og516.png 

 

这些都是优化文件,指定放置文件的位置。

 

cmake过程中如果出现ncurses报错,安装“yum install -y ncurses-devel”这个包解决问题。

cmake过程中因为出错退出后,修正了问题,再次cmake之前要执行rm CMakeCache.txt将缓存清除。

wKiom1aR6BKin5TOAABhCO_7UAw462.png 

 

wKioL1aR6Kyy5ZQAAAAK0qu395Q153.png 

wKioL1aR6Obh8UbIAABrW3slpFQ124.png 

出现这样的界面说明已经成功,就等待它编译安装完成。等待的时间可能会比较久。

wKiom1aR6NKRPU0AAAAluP3F4e0274.png 

创建运行账户,建立一个空目录,对数据库目录进行权限设置。

wKiom1aR6PTSioS7AACIDPQ7zHs576.png 

chown -R mysql.mysql /usr/local/mysql//这个命令的作用是如果前面已经做过的这个命令,则执行完make && make install 这个命令之后须要执改/usr/local/目录下的mysql这个目录的属主与属组

wKiom1aR6P_C2AEOAABz6Fv28TI019.png 

wKioL1aR6TrRIshsAABJ4VEuqzw213.png 

 建立配置文件

wKioL1aR6UrDhwV9AAAiHi4IfMs848.png 

 

wKioL1aR6VyRM4RvAACEs3lCsVU217.png 

cp support-files/mysql.server /etc/init.d/mysqld  //添加系统服务,将mysql.server脚本文件复制到/etc/init.d/目录下,改名为mysqld,然后设置执行权限

chmod 755 /etc/init.d/mysqld       

chkconfig --add /etc/init.d/mysqld  //添加/etc/init.d/myspldchkconfig里,用service命令来管理(service mysql

 

wKiom1aR6UvjwTl_AAAj7xab0i4940.png 

 

初始化脚本mysql_install_db位于安装目录的scripts文件夹中

/usr/local/mysql/scripts/mysql_install_db \  --user=mysql \

--ldata=/var/lib/mysql \ --basedir=/usr/local/mysql \

--datadir=/home/mysql  //指定用户为mysql,链接文件是/var/lib/mysql,基本目录,/usr/local/mysql,数据目录为/home/mysql

 

wKioL1aR6YuQeFTEAAA8Kg9xe-w300.png 

ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock   

//源文件是/var/lib/mysql/mysql.sock,链接的文件是/home/mysql/mysql.sock

wKiom1aR6W7DKIJgAAAu-Y-CyZM230.png 

wKioL1aR6a6TZCLXAAAS7-6rdMk827.png 

wKioL1aR6dbRXdMIAAAR0Nix5sE793.png 

以上所有的配置完了之后,一定要用“source /root/.bash_profile”这个命令来对初始脚本重新加载,这样用mysql这个用户就能登录了

 

wKiom1aR6bfxUw8mAABCrjwrPIQ802.png 

wKiom1aR6dSDB9jKAAA6GDqu6w4238.png 

wKioL1aR6g2xrDBsAAA9NmwCNPA556.png 

MySQL数据库的默认端口是3306.

 

这样数据库就安装完成了。

 访问MySQL数据库

 1.经过安装后的初始化过程,MySQL数据库的默认管理员为“root”密码为空。

wKiom1aR6oGiMHPSAABlZn6HnkI639.png 

 

2.MySQL数据库设置密码

wKioL1aR6sDh54rnAADvTYf95QQ255.png 

 

  使用MySQL数据库

  1.查看命令:

mysql> show databases;  //查看当前服务器中有哪些库

mysql> use test;        //切换到所使用的库

mysql> show tables;    //查看当前使用的库中有哪些表

mysql> describe user;   //查看表内容(查看user表里的内容)

 

  2.新建命令:

CREATE TABLE 表名(字段1,字段2...PRIMARY KEY(主键名)

mysql>CREATE DATABASE benet;  //创建数据库名为benet

mysql>use benet              //进入benet这个数据库

mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL,               user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));  

//创建表名为users

注释:“user_name”表示字段1名称(也就是表格的第一行),“char(16)”表示类型,“not null”表示null值不能为空 NO

      “user_passwd”表示字段2名称(也就是表格的第二行),“char(48)”表示类型,“default ''”表示null可以为空 YES

      “primary key(user_name)”表示primary key(主键名)

wKiom1aR6sLhSMbwAACDNj7SsT0690.png 

 插入数据记录:

INSERT INTO 表名(字段1,字段2....VALUES(字段1的值,字段2的值......)

mysql> INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456'));  //users表中插入内容

mysql> INSERT INTO users VALUES('lisi', PASSWORD('654321'));  //password是用户为密码加密的

mysql> insert into users values('sina',password('123abc'));

wKiom1aR6vyAmRiAAACtHDwzmAA959.png 

 

3.查询数据记录:

SELECT 字段1,字段2...FROM 表名 WHERE 条件表达式

wKiom1aR6xHgRuS9AABOIjnYucY900.png 

  查询某个用户的的数据

wKiom1aR6yHDAXrPAAA2-I3i8io001.png 

mysql> SELECT user,host,password FROM mysql.user WHERE user='';

mysql> select * from users;   //查看user表里的所有信息

mysql> select user from users;  //查看users表里的user这个用户字段里有哪些用户。

mysql>flush privileges;  //刷新授权信息,

4.修改数据记录:

UPDATE 表名 SET 字段名1=字段值1[,字段2=字段值2]  WHERE 条件表达式

wKioL1aR61_i-4-fAABKpJZS_94730.png 

wKioL1aR68vw10oGAABov0eg4ls761.png 

mysql> UPDATE users SET user_passwd=PASSWORD('') WHERE user_name='lisi';  //lisi 的密码设为空值

mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';  //root的密码设置为123456,下次登录就需要密码。

5.删除数据记录:

DELETE FROM 表名 WHERE 条件表达式

wKiom1aR67iBMGfXAACuindGHSI737.png 

 

mysql> DELETE FROM users WHERE user_name='lisi';  //删除lisi用户

mysql> DROP TABLE users;  //删除一个表

mysql> DROP DATABASE benet;  //删除数据库

 

 维护MySQL数据库

  1.数据库的用户授权

 授予权限

 GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 【 IDENTIFIED BY  密码 】

wKiom1aR687j8KOUAAAyHkROmCk487.png 

 

wKiom1aR6-Dw1CzJAABZiL2kLXw559.png 

wKiom1aR6_3jmSMMAAA5FRslFyk307.png 

wKioL1aR7D6zb9xLAABDmj6wizo787.png 

 查看权限

  SHOW GRANTS  FOR 用户名@来源地址

 撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址

wKioL1aR7FGh6XRnAAA74PaGZmI817.png 

wKioL1aR7GLQlk_qAAA15WXhSb4018.png 

 

 

 数据库的备份与恢复

 

# mysqldump -u root -p --opt --all-databases > all-data.sql   

     //备份所有数据库

 

# mysqldump -u root -p --database benet > benet.sql     

    //备份benet数据库

# mysqldump -u root -p mysql user > mysql-user.sql 

   //备份mysqluser

 

  mysql>create database;

# mysql -u root -p test < mysql-user.sql      //将备份还原到test数据库中。

 

例子:

mysqldump -u root -p --database user > user.sql   //将数据库中名为user的数据库备份出来(备份user这个数据库)

 

mysql -u root -p  < user.sql      //将备份user数据库名数据库user.sql还原到数据库中

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章