1)查看CentOS自带的mysql
输入 rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
2)将其自带的mysql版本全部卸载(非常重要,如不卸载,后面会产生冲突)
rpm -e --nodeps (mysql版本号,就是上面检查到的mysql-libs-5.1.71-1.el6.x86_64)
或者用这条命令卸载,yum -y remove mysql-libs*
3)检查是否将自带的mysql版本卸载了
rpm -qa | grep mysql
4)创建mysql的存放目录(我保存在/usr/local/mysql目录下,可以根据自己的喜好创建mysql的保存路径)
mkdir /usr/local/mysql
进入到mysql目录下
cd /usr/local/mysql
5)上传mysql到 /usr/local/mysql/ 目录下
mysql 5.6 官网下载链接:https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-5.6.41-1.el6.x86_64.rpm-bundle.tar
上传到 /usr/local/mysql/ 目录后查看
ls
MySQL-5.6.41-1.el6.x86_64.rpm-bundle.tar
6)安装
先解压上传的tar包
tar -xvf MySQL-5.6.41-1.el6.x86_64.rpm-bundle.tar
解压后会得到以下rpm安装文件:
MySQL-client-5.6.41-1.el6.x86_64.rpm
MySQL-devel-5.6.41-1.el6.x86_64.rpm
MySQL-embedded-5.6.41-1.el6.x86_64.rpm
MySQL-server-5.6.41-1.el6.x86_64.rpm
MySQL-shared-5.6.41-1.el6.x86_64.rpm
MySQL-shared-compat-5.6.41-1.el6.x86_64.rpm
MySQL-test-5.6.41-1.el6.x86_64.rpm
安装服务端(注意:服务端和客户端都要安装,否则会出错)
rpm -ivh MySQL-server-5.6.41-1.el6.x86_64.rpm
出现报错:
warning: MySQL-server-5.6.41-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
libnuma.so.1()(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
7)安装所需要的依赖,分别执行以下命令
解决缺少perl的依赖:
yum install -y perl
解决缺少libaio.so.1(64bit)的依赖:
这里使用yum install –y libaio.so.1后发现并不能解决问题,原因yum安装的并非x86_64版本,而是i686版本
rpm -qa | grep libaio
libaio-0.3.107-10.el6.i686
手动下载libaio-0.3.107-10.el6.x86_64.rpm,下载地址如下:
http://mirror.centos.org/cent...
上传后安装
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
解决缺少libnuma.so.1(64bit)依赖:
yum install -y numactl
再次安装执行:
rpm -ivh MySQL-server-5.6.41-1.el6.x86_64.rpm
。。。省略。。。
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
You must change that password on your first connect,
no other statement but 'SET PASSWORD' will be accepted.
See the manual for the semantics of the 'password expired' flag.
Also, the account for the anonymous user has been removed.
In addition, you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test database.
This is strongly recommended for production servers.
See the manual for more instructions.
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
New default config file was created as /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
安装过程中提示默认为root用户设置了随机密码,可以在 /root/.mysql_secret 文件中找到,并且移除了匿名用户,可以运行 /usr/bin/mysql_secure_installation 命令来移除自带的测试数据库,还生成了默认配置文件 /usr/my.cnf
8)安装客户端
rpm -ivh MySQL-client-5.6.41-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.41-1.el6.x86_64.rpm
9)检查是否安装成功(注意MySQL字母的大小写)
rpm -qa | grep MySQL
MySQL-server-5.6.41-1.el6.x86_64
MySQL-devel-5.6.41-1.el6.x86_64
MySQL-client-5.6.41-1.el6.x86_64
10)启动mysql服务器
service mysql start
出现以下提示说明安装成功!
Starting MySQL.Logging to '/var/lib/mysql/freeradius.err'.
. SUCCESS!
11)查看默认生成的随机密码(最后冒号后面的就是密码)
cat /root/.mysql_secret
# The random password set for the root user at Sun Sep 23 07:38:04 2018 (local time): psUGhQBPUZT_LPon
12)登陆mysql(输入上一步找到的密码)
mysql -u root -p
13)修改mysql登陆密码
mysql> set password=password('密码');
14)启动mysql
service mysql start
15)将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig --add mysql
开机自动启动:chkconfig mysql on
16)开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
mysql -u root -p
mysql> grant all privileges on *.* to 'root' @'%' identified by '密码';
mysql> flush privileges;
17)开放Linux的对外访问的端口3306
mysql默认没有开启对外访问端口3306,需要手动开启
/sbin/iptables
-I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save # 将修改永久保存到防火墙中
18)初始设置mysql数据库,设置root密码,出于安全考虑,可以考虑删除匿名用户和测试数据库以及禁用远程根登录,参见下面的示例配置。
运行 /usr/bin/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] n
... skipping.
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...
... Success!
- 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!
Cleaning up...
19)修改配置文件位置并做相关设置
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
# 做如下配置
[client]
port = 3306
default-character-set=utf8
[mysqld]
port = 3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
log_error = /var/log/mysql/error.log
# 错误日志路径自己定义,前提是目录必须存在
lower_case_table_names=1
# 注意 linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写
max_connections=1000
# 设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384
[mysql]
default-character-set = utf8
几个重要目录
数据库目录
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相关命令
/usr/bin(mysqladmin mysqldump等命令)
启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)