Linux MySQL 压缩包安装手册

0、说在前面的话

需要读者具备一定的 Linux 基础

1、 机器环境说明

A. root 用户操作
B. 操作系统
image.png

2、MySQL 安装版本说明

使用的是 Linux 通用版本下载:
下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
或者
直接下载:wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.g

3、解压并重命名压缩包

# tar zxf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
# mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql

4、创建 mysql 用户

# useradd mysql

5、修改 mysql 安装目录权限

#  chown -R mysql:mysql /usr/local/mysql

6、修改配置文件并拷贝到 mysql 安装目录(/usr/local/mysql/)

# vim /etc/my.cnf

修改为如下内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysql]
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
pid-file=/usr/local/mysql/mysqld.pid
log-error=/usr/local/mysql/mysqld.log

# cp /etc/my.cnf /usr/local/mysql/

7、初始化数据

# cd  /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

8、启动 mysqld 服务

# bin/mysqld_safe --user=mysql &

如果出现如下图错误提示信息:

image.png
,可以通过手动创建 mysqld.log日志文件然后权限替换回来即可解决,具体操作如下:# touch /usr/local/mysql/mysqld.log
image.png

再次执行 # bin/mysqld_safe --user=mysql &

9、mysql 初始化配置去除隐患

#   bin/mysql_secure_installation

会出现如下错误提示信息:
Enter current password for root (enter for none): ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

(翻墙Google 一番发现)Caused:Since I have set the mysqld socket to /usr/local/mysql/mysql.sock in /etc/my.cnf as the following, not the default path /tmp/mysql.sock.
Fixed:
I added one more line “/usr/local/mysql/mysql.sock” into /usr/local/mysql/bin/mysql_secure_installation at make_config section as the following. Then the problem got fixed.
解决方案:
# vim /usr/local/mysql/bin/mysql_secure_installation

image.png

配置好以后再次执行 # bin/mysql_secure_installation

出现如下操作提示:
默认没有密码直接 enter 回车即可
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.
设置root 用户密码 我这里设置的是123456
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..

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.
是否允许 root 远程登录
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] n
... skipping.

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...

10、配置 root 用户远程登陆

# bin/mysql -uroot -p

Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.6.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | bigdata01 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

授权远程登录权限

mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' WITH GRANT OPTION ;
mysql> flush privileges;

11、简化服务启动

a.查看启动进程
# pgrep mysql              
29227
29408
# kill -9 29227 29408
# pgrep mysql
b.简化形式
# cd support-files  
# ./mysql.server start
Starting MySQL.                                            [  OK  ]
# ./mysql.server stop

# cp mysql.server /etc/init.d/mysql
# service mysql start
Starting MySQL.                                            [  OK  ]
# service mysql stop
Shutting down MySQL..   

12、配置 mysql 环境 + 开机自动启动

a、配置环境变量
# vim /etc/profile

export MYSQL_HOME="/software/mysql-5.6.21"
export PATH="$PATH:$MYSQL_HOME/bin"

b、自启动服务
# chkconfig mysql on
# chkconfig --list|grep mysql
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off
                               [  OK  ]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容