您的位置:首页 > 运维架构 > Linux

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

2016-01-10 13:30 731 查看

MySQL数据库安装与配置

1. 实验需求:1) 使用yum安装MySQL数据库2) MySQL数据库的基本操作(增、删、改、查)3) MySQL数据库的维护4) MySQL 数据库的备份与恢复2. 实验环境:Linux服务器系统版本:Red Hat Enterprise Linux 6.5 IP:192.168.10.20WIN7系统客户机: IP: 192.168.10.13. 实验步骤:基本安装操作: 首先要下载MySQL软件,我这里已经下载好,放在电脑硬盘里,把它共享出来。






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









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


切换到展开后的源码目录



配置:



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

在cmake过程中如果出现ncurses报错,安装“yum install -y ncurses-devel”这个包解决问题。
当cmake过程中因为出错退出后,修正了问题,再次cmake之前要执行rm CMakeCache.txt将缓存清除。










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



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



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






建立配置文件






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/myspld到chkconfig里,用service命令来管理(service mysql)





初始化脚本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




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









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










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

这样数据库就安装完成了。
访问MySQL数据库 1.经过安装后的初始化过程,MySQL数据库的默认管理员为“root”密码为空。




2.给MySQL数据库设置密码




使用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(主键名)



插入数据记录: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'));




3.查询数据记录:
SELECT 字段1,字段2...FROM 表名 WHERE 条件表达式



查询某个用户的的数据


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 条件表达式






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 条件表达式




mysql> DELETE FROM users WHERE user_name='lisi'; //删除lisi用户
mysql> DROP TABLE users; //删除一个表
mysql> DROP DATABASE benet; //删除数据库

维护MySQL数据库 1.数据库的用户授权:
授予权限 GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 【 IDENTIFIED BY ‘密码’ 】













查看权限 SHOW GRANTS FOR 用户名@来源地址
撤销权限REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址







数据库的备份与恢复
# 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
//备份mysql的user表

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还原到数据库中

本文出自 “IT随笔” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: