hghgfg 发表于 2017-11-14 10:39:02

LNMP之二进制MySQL的安装

通常企业环境中的MySQL安装使用两种方法
1、MySQL二进制安装包       mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2、MySQL源码包安装            mysql-5.6.33.tar.gz
区别:
二进制包安装方便不需要编译,直接解压就可以使用。但是二进制包要比源码包大。下面介绍一下MySQL二进制安装包的安装方法。(写的不好的地方大家多多指教)
1、添加mysql用户

1
useradd mysql -s /sbin/nologin -M




参数说明:-s /sbin/nologin表示禁止该用户登录,
                -M不用创建家目录。

2、创建一个目录    mkdir /application
解释:二进制MySQL安装包默认安装在/usr/local下,这个目录可以不创建,这个只是个人习惯。运维工作人员的习惯就是走老路,避免新的坑。
3、解压安装包

1
tar -xvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz




4、将解压文件重命名

1
mv mysql-5.6.33-linux-glibc2.5-x86_64/application/mysql-5.6.33




5、建立一个软连接


1
ln -s /application/mysql-5.6.33   /application/mysql




6、修改MySQL的所属主、所属组

1
chown -R mysql.mysql /application/mysql/




7、初始化数据库


1
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql--datadir=/application/mysql/data/--user=mysql




8、拷贝MySQL启动脚本


1
cp /application/mysql/support-files/mysql.server/etc/init.d/mysqld




9、给启动脚本加执行权限

1
chmod +x /etc/init.d/mysqld




10、二进制安装包默认安装路径是/usr/local,所以将脚本中的/usr/local替换成/application

11、启动MySQL

1
/etc/init.d/mysqld start




Starting MySQL........................................   [确定]
12、检查MySQL是否真正启动

1
netstat-nplt | grep 3306




tcp      0      0 :::3306                     :::*                        LISTEN      15064/mysqld
13、如果发现MySQL端口没有启动,请看/application/mysql/data/***.err日志,根据报错信息在调试

1
vim /application/mysql/data/***.err




14、设置MySQL开机自启动

1
chkconfig --add mysqld





1
chkconfig mysqld on




15、设置全局变量

1
vim /etc/profile




在文件最后加入

1
export PATH=/application/mysql/bin:$PATH




16、登录MySQL,这个时候不需要密码也可以登录,并且是root用户

1
2
3
4
5
6
7
8
9
10
# mysql
Welcome to the MySQL monitor.Commands end with ; or \\g.
Your MySQL connection id is 1
Server version: 5.6.33 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
mysql>




17、如果出现下面这个情况,重新初始化数据。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
1)、删除初始化的data目录    rm -rf /application/mysql/data
2)、重新初始化
18、MySQL安全加固
为root用户设置密码

1
mysqladmin -u root password 'password'




19、清理无用的库

1
drop database test ;




20、清理无用的用户

1
2
3
4
5
6
7
8
9
10
11
select user,host from mysql.user;
+------+-----------+
| user | host    |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1    |
|    | jhyeliu|
| root | jhyeliu|
|    | localhost |
| root | localhost |
+------+-----------+





1
drop user "root"@"::1";




Query OK, 0 rows affected (0.05 sec)

1
drop user ""@"localhost";




Query OK, 0 rows affected (0.00 sec)

1
drop user ""@"jhyeliu";




Query OK, 0 rows affected (0.00 sec)

1
drop user "root"@"jhyeliu";




Query OK, 0 rows affected (0.00 sec)

1
select user,host from mysql.user;





1
2
3
4
5
6
+------+-----------+
| user | host    |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+





1
flush privileges;




至此MySQL数据库就算基本完成了。

页: [1]
查看完整版本: LNMP之二进制MySQL的安装