0.更换阿里的镜像源
1.检查本机是否已装mysql组件,有的话删掉(防止后续安装组件引用冲突)
[root@linux ~]# yum list installed | grep mysql
mysql-libs.x86_64 5.1.73-8.el6_8 @anaconda-CentOS-201806291108.x86_64/6.10
[root@linux ~]# yum -y remove mysql-libs.x86_64
2.下载mysql源安装包
wget http://repo.mysql.com/mysql57-community-release-el6-10.noarch.rpm
3.安装yum源,选择版本
yum -y localinstall mysql57-community-release-el6-10.noarch.rpm
源安装后,根据需要,设置安装的mysql版本,通过vim 编辑源文件,如果要安装mysql哪个版本,选择后把里面的enable设置为1,其他设0.例如我的,就是5.6是1,其他版本是0
[root@linux ~]# vim /etc/yum.repos.d/mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=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 Release
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
也可以通过命令直接设置
yum-config-manager --disable mysql55-community
yum-config-manager --enable mysql56-community
yum-config-manager --disable mysql57-community
4.安装mysql服务端(如果网络不好,安装途中没下载完成,提示更换源,可以多此执行以下安装命令,他会在原下载的进度上继续下载,等下载完成就可以顺利安装完成了)
[root@linux ~]# yum install mysql-community-server
5.启动 mysql 服务
[root@linux ~]# service mysqld start
6.查看服务启动是否成功
[root@linux ~]# service mysqld status
mysqld (pid 3687) 正在运行...
7.查看mysql是否开机自启动(如不是,设置开启,1-6代表不同的设备状态,详情自己百度)
[root@linux ~]# chkconfig --list | grep mysqld
mysqld 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
[root@linux ~]# chkconfig mysqld on
[root@linux ~]# chkconfig --list | grep mysqld
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
8.修改默认字符集为UTF8(在[mysqld]部分添加:character-set-server=utf8)
[root@linux ~]# vim /etc/my.cnf
修改前:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/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 = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
修改后:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[mysqld]
character-set-server=utf8
#
# 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 = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
9.重启服务
[root@linux ~]# service mysqld restart
停止 mysqld: [确定]
正在启动 mysqld: [确定]
10.设置密码,设置root账户远程登录和修改配置:执行:mysql_secure_installation
(如装的是5.7,需要先去关闭密码检查,再查安装好后生成的文件中查找初始密码,修改密码)
关闭密码检查:在[mysqld]后面增加validate_password=off
vim /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]
character-set-server=utf8
validate_password=off
再重启mysql服务
service myslqd restart
5.7版本,查看初始密码,跟在 root@localhost后的就是初始的密码
[root@linux ~]# cat /var/log/mysqld.log | grep root@localhost
再登录myslq,修改密码
mysql -uroot -p
#输入查询到的初始密码登录
SET PASSWORD = PASSWORD('123456');
再退出mysql修改配置(修改同下方的5.6版本):
mysql> exit
mysql_secure_installation
5.6版本
[root@linux ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Sorry, passwords do not match.
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
... skipping.
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed! Not critical, keep moving...
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
11.允许root用户(密码123456)远程接入:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
12.重启mysql服务
[root@linux ~]# service mysqld restart
停止 mysqld: [确定]
正在启动 mysqld: [确定]