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软件,我这里已经下载好,放在电脑硬盘里,把它共享出来。
将下载的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还原到数据库中