Linux系列-数据库的安装

260 阅读2分钟

1、前置准备

# 检测系统中是否已经存在数据库
rpm -qa | grep mysql
# 卸载已存在的数据库,以防对此次安装操作造成影响
yum remove mysql*
# yum上mysql的资源有问题,所以不能仅仅只用yum。在使用yum之前还需要用其他命令获取mysql社区版
# 1、切换至/tmp目录
cd /tmp
# 2、获取mysql的社区版rpm包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# 3、解压并安装
rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2、安装启动并配置mysql

# 安装mysql
yum -y install mysql mysql-server mysql-devel
# 启动mysql
systemctl start mysql
# 设置mysql开机自启
systemctl enable mysql
# 通过yum安装的mysql,默认管理员账号是没有密码,必须设置密码
mysqladmin -u root password admin
# 报错 mysqladmin: unable to change password; error: 'Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 50564, now running 50648. Please use mysql_upgrade to fix this error.
# 依照提示信息,执行
mysql_upgrade
# 再次执行
mysqladmin -u root password admin

# 登录mysql
mysql -uroot -p
# 重新为用户设置密码(非必须)
set password for 用户名@localhost=password('新密码');
# 刷新生效
flush privileges;
# 退出,重启mysql
exit
systemctl restart mysql

4、配置中文编码

# 查看mysql当前的编码方式
show variables like 'character%';

# character_set_client:客户端请求数据的字符集
# character_set_connection:从客户端接收到数据,然后传输的字符集
# character_set_database:默认数据库的字符集
# character_set_filesystem:把操作系统上文件名转化成此字符集,默认binary即可
# character_set_results:结果集的字符集
# character_set_server:数据库服务器的默认字符集
# character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集

# 修改字符集
vim /etc/my.cnf

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

# 重启mysql服务
systemctl restart mysql

# 查看mysql当前的编码方式
show variables like 'character%';

5、添加用户和远程登录

# 使用mysql.user查看用户信息
select user, host, authentication_string from mysql.user;
# 授权远程登录
# *.* 表示所有数据库的所有数据表
# @'%' 表示任意ip
grant all privileges on *.* to 'root'@'%' identified by 'admin' 
# 刷新
flush privileges


# 也可以在建库的sql中添加用户和授权
create user newUser identified by "newPassword";

drop database if exists dbtest;
create database dbtest default character set utf8 collate utf8_general_ci;

grant all privileges on dbtest.* to newUser@localhost identified by "newPassword";
flush privileges;

6、MySQL备份和导入

# 从本地window环境下导出sql,上传到centos上
# 进入本地mysql安装目录下的bin目录,默认安装在 C:\Program Files\MySQL\MySQL Server 5.7 路径下,在当前目录下打开cmd
mysqldump -uroot -padmin --databases dbtest > D:\dbtest.sql
# 上传
scp D:\dbtest.sql root@Ip地址:/tmp/
# 导入
mysql -uroot -padmin < /tmp/dbtest.sql