CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
1.下载mysql的repo源
1 | $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm |
2.安装mysql-community-release-el7-5.noarch.rpm包
1 | $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm |
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3.安装mysql
1 | $ sudo yum install mysql-server |
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
4.重置mysql密码
1 | $ mysql -u root |
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
1 | $ sudo chown -R root:root /var/lib/mysql |
重启mysql服务
1 | $ service mysqld restart |
接下来登录重置密码:
1 | $ mysql -u root //直接回车进入mysql控制台 |
5.登陆mysql
输入mysql -u+数据库用户 -p+数据库密码
架设数据库用户是root 密码是123,应该是像下面这样才是正确的:
1 | mysql -uroot -p123 |
-u和-p连接数据库用户和密码中间是不能有空格的
6.下面来创建数据库mydatabase
1 | create database mydatabase; |
这样一个名叫mydatabase的数据库就创建好了
1 | show databases; 显示所有数据库列表 |
1 | drop database mydatabase; 删除数据库mydatabase |
那么如何退出mysql命令行呢?
在终端输入exit; 知道完全退出mysql命令行为止
7.执行数据库文件
1 | source /root/sql/sfm.sql |
注意:需先把sql文件放到服务器的一个文件夹中,不能有中文目录,否则执行不了
8. 数据库常用命令
(1) 制定TestDB数据库为当前默认数据库
1 | mysql> use TestDB; |
(2) 在TestDB数据库中创建表customers
1 | mysql> create table customers(userid int not null, username varchar(20) not null); |
(3) 显示数据库列表
1 | mysql> show databases; |
(4)显示数据库中的表
1 | mysql> show tables; |
(5)删除表customers
1 | mysql> drop table customers; |
(6)显示customers表的结构
1 | mysql> desc customers; |
(7) 向customers表中插入一条记录
1 | mysql> insert into customers(userid, username) values(1, 'hujiahui'); |
(8) 让操作及时生效;
1 | mysql> commit; |
(9) 查询customers中的记录
1 | mysql> select * from customers; |
(10) 更新表中的数据
1 | mysql> update customers set username='DennisHu' where userid=1; |
(11) 删除表中的记录
1 | mysql> delete from customers; |
(12)授予hjh用户访问数据库的权限
1 | grant select, insert, update, delete on *.* to hjh@localhost indentified by "123456"; |
备注:hjh是Linux用户名,123456是访问mysql的密码
(13)采用用户名和密码登录mysql
1 | mysql -uhjh -p123456 |
9.备份数据库
语法:mysqldump -u 用户名 -p 数据库名 >备份成文件.sql
语法:mysqldump -u 用户名 -p 数据库名 表名 >备份成文件.sql
语法:mysqldump -u 用户名 -p 数据库名 表名1 表名2 >备份成文件.sql
例如:1
mysqldump -usystem -p dba >/opt/mysql_dba_bak.sql//备份dba里面所有表