一、安装
参考:
# 检测系统中是否安装了mysqlyum list installed | grep mysql### 显示内容 ###### 我已经装过了……没装之前可能什么都没有,也可能有低版本的mysqlmysql-community-client.x86_64 5.7.23-1.el6 @mysql57-community-dmr mysql-community-common.x86_64 5.7.23-1.el6 @mysql57-community-dmr mysql-community-libs.x86_64 5.7.23-1.el6 @mysql57-community-dmr mysql-community-release.noarch el6-5 @/mysql-community-release-el6-5.noarch mysql-community-server.x86_64 5.7.23-1.el6 @mysql57-community-dmr # 卸载低版本mysql,才能安装上mysql5.7# remove后面是上面显示的文件(-y表示全过程选是),上面出现的全部都要remove掉yum -y remove mysql-community-client.x86_64 mysql-community-common.x86_64 ...### 显示内容 ###...Removed: mysql-community-client.x86_64 0:5.7.23-1.el6 mysql-community-common.x86_64 0:5.7.23-1.el6 mysql-community-libs.x86_64 0:5.7.23-1.el6 mysql-community-release.noarch 0:el6-5 Dependency Removed: mysql-community-server.x86_64 0:5.7.23-1.el6Complete!# 再检测一次,直到为空# 下载mysql的yum源(el6-5表示惹的redhat6和sentos6-mysql5)wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm# 载入yum源yum install mysql-community-release-el6-5.noarch.rpm# 查看mysql可用的安装源(安装源里面有mysql5的好几个版本)yum repolist enabled | grep mysql### 显示内容 ###mysql-connectors-community MySQL Connectors Community 59mysql-tools-community MySQL Tools Community 65mysql56-community MySQL 5.6 Community Server 453# 发现没有5.7版本的,修改repo文件,把5.7版本改为可用,5.6版本改为不可用vi /etc/yum.repos.d/mysql-community.repo### 显示内容 ###############################################################################################################[mysql-connectors-community]name=MySQL Connectors Communitybaseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-community]name=MySQL Tools Communitybaseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.5[mysql55-community]name=MySQL 5.5 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/enabled=0gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/enabled=1 #把这个1改成0gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Note: MySQL 5.7 is currently in development. For use at your own risk.# Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/[mysql57-community-dmr]name=MySQL 5.7 Community Server Development Milestone Releasebaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/enabled=0 #把这个0改成1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql############################################################################################################# 按i进入编辑模式!# 输入数字不要使用小键盘!# 按ESC键退出编辑模式!# 输入:wq 回车--保存并退出!# 再次检查mysql可用的安装源yum repolist enabled | grep mysql### 显示内容 ###mysql-connectors-community MySQL Connectors Community 59mysql-tools-community MySQL Tools Community 65mysql57-community-dmr MySQL 5.7 Community Server Development Milesto 273# 发现5.7版本的mysql安装源可用# 使用yum安装mysqlyum install mysql-community-server -y### 显示内容 ###### 安装成功!...Installed: mysql-community-server.x86_64 0:5.7.23-1.el6 Dependency Installed: mysql-community-client.x86_64 0:5.7.23-1.el6 mysql-community-common.x86_64 0:5.7.23-1.el6 mysql-community-libs.x86_64 0:5.7.23-1.el6 Complete!# 启动服务service mysqld start# 5.7版本跟5.6版本的登录方式不一样,5.6默认root密码为空,5.7的root密码是随机生成的# 首次登录可查看root密码,登录后要立即修改密码,设置复杂一些,不然报错说密码不安全grep "password" /var/log/mysqld.log### 显示内容 ###2018-09-05T03:32:48.523907Z 1 [Note] A temporary password is generated for root@localhost: rr_pVi=rj3ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword!'; # 退出mysql> exit;# 重新登录
二、配置
# linux系统安装mysql默认区分大小写# 设置不区分大小写[root@i-epo5ap9i ~]# vi /etc/my.cnf########################################################################################## For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2Mdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklower_case_table_names=1 #在这里加上这句,linux下1不区分,0区分# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid~~########################################################################################## 保存并退出# 重启mysql服务[root@i-epo5ap9i ~]# service mysqld restartStopping mysqld: [ OK ]Starting mysqld: [ OK ]# 登录mysql[root@i-epo5ap9i ~]# mysql -uroot -pEnter password:...Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.# 查看所有数据库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)# 使用数据库:mysqlmysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changed# 查看当前数据库的所有表mysql> show tables;+---------------------------+| Tables_in_mysql |+---------------------------+| columns_priv || db || engine_cost || event || func || general_log || gtid_executed || help_category || help_keyword || help_relation || help_topic || innodb_index_stats || innodb_table_stats || ndb_binlog_index || plugin || proc || procs_priv || proxies_priv || server_cost || servers || slave_master_info || slave_relay_log_info || slave_worker_info || slow_log || tables_priv || time_zone || time_zone_leap_second || time_zone_name || time_zone_transition || time_zone_transition_type || user |+---------------------------+31 rows in set (0.00 sec)# 查看用户表(只看主机和用户名字段,*的话太多了)mysql> select host,user from user;+-----------+---------------+| host | user |+-----------+---------------+| host | username || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+---------------+4 rows in set (0.00 sec)# 创建数据库mysql> create database test;Query OK, 1 row affected (0.00 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys || test |+--------------------+5 rows in set (0.00 sec)# 创建用户并授予test数据库的所有权限mysql> grant all privileges on test.* to 'test_user'@'%' identified by 'test123.PassWord';Query OK, 0 rows affected, 1 warning (0.00 sec)# 刷新权限mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)# 再次查看用户表mysql> select host,user from user;+-----------+---------------+| host | user |+-----------+---------------+| % | test_user || host | username || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+---------------+5 rows in set (0.00 sec)# 查看test_user用户权限mysql> show grants for 'test_user'@'%';+-----------------------------------------------------+| Grants for test_user@% |+-----------------------------------------------------+| GRANT USAGE ON *.* TO 'test_user'@'%' || GRANT ALL PRIVILEGES ON `test`.* TO 'test_user'@'%' |+-----------------------------------------------------+2 rows in set (0.00 sec)# 退出mysql> exit;Bye
三、导库
# 把数据库的sql文件上传到linux服务器[root@i-epo5ap9i ~]# rz-bash: rz: command not found# 安装lrzsz[root@i-epo5ap9i ~]# yum install lrzsz -y...Installed: lrzsz.x86_64 0:0.12.20-27.1.el6 Complete!# 从windows本机上传到linux服务器(回车后会弹出一个选择文件的弹窗,选中文件点击add后再点OK)[root@i-epo5ap9i ~]# rzrz waiting to receive.Starting zmodem transfer. Press Ctrl+C to cancel.Transferring test.sql... 100% 953 bytes 953 bytes/sec 00:00:01 0 Errors # 换用户登录mysql[root@i-epo5ap9i ~]# mysql -u test_user -pEnter password: ...Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.# 使用test数据库mysql> use test;Database changed# 给test数据库设置编码方式mysql> set names utf8;Query OK, 0 rows affected (0.00 sec)# 导入数据库(运行部署项目对应的sql文件)mysql> source /root/test.sql;Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected, 1 warning (0.00 sec)...# 查看该数据库的所有表mysql> show tables;+----------------+| Tables_in_test |+----------------+| role || user || ... |+----------------+2 rows in set (0.00 sec)# 导入成功,退出mysqlmysql> exit;Bye