004-LNMP之Mysql源码编译安装

正文:

搜狐镜像源:http://mirrors.sohu.com/ (推荐,国内源下载速度嗖嗖的)

//这里有很多常用的镜像,Mysql的源码包也在里面。

 

1.Mysql数据库的一些依赖包

yum -y install gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel

 

2.Mysql的编译安装

# 创建mysql用户去启动数据库进程
useradd -s /sbin/nologin mysql
cd /usr/local/src
tar -zxvf mysql-5.6.39.tar.gz
cd mysql-5.6.39
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
make && make install
cp /usr/local/src/mysql-5.6.39/support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld

 

3.编译参数说明

 

# 指定Mysql的安装目录
CMACK_INSTALL_PREFIX
# 指定Mysql的数据目录
MYSQL_DATADIR

 

4.Mysql环境变量配置

export PATH=$PATH:/usr/local/mysql/bin/
# 将环境变量追加到 /etc/profile
source /ect/profile
# 查看环境变量是否生效
echo $PATH

 

5.Mysql的启动步骤

1.更新配置

2.数据库初始化

3.启动数据库

 

6.更新Mysql配置 /etc/my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
datadir=/data/mysql
user=mysql
skip-name-resolve
long_query_time=2
slow_query_log_file=/data/mysql/mysql-slow.log
expire_logs_days=2
innodb_flush_log_at_trx_commit=2
log_warnings=1
max_allowed_packet=512M
connect_timeout=120

[mysqld_safe]
log_error=/data/mysql/mysqld.log
pid-file=/data/mysqld/mysqld.pid

 

7.Mysql数据库初始化

mkdir -pv /data/mysql
chown -R mysql:mysql /usr/local/mysql /data/mysql/
yum install -y perl-Module-Install
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/data/mysql/

 

8.使用systemctl管理mysqld

# 配置文件的路径 
vi /usr/lib/systemd/systemd/mysqld.service

[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
[Install]
WantedBy=multi-user.target

 

9.启动Mysql服务器

systemctl start mysqld

 

10.验证Mysql是否启动

1.查看进程 ps -ef | grep mysql

 

 

 2.查看监听 netstat -tunlp | grep mysql

 

 

3.查看日志 cat /data/mysql/mysqld.log

 

 

 

11.Mysql的安全方式

1.mysql能限制ip访问、访问需要用户名密码、mysql权限还能细分
2.默认让127.0.0.1访问,用户名root,不需要密码
3.mysql -uroot -h 127.0.0.1 -A

 

12.Mysql加密码

# 给mysql数据库root用户添加密码root
mysqladmin -h 127.0.0.1 -uroot password 'root'
# 用root密码验证登录
mysql -h 127.0.0.1 -uroot -proot -A

 

13.Mysql授权某ip登录,指定用户名

# 添加192.168.0.X段的ip允许网络访问Mysql数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新mysql权限的相关表
flush privileges;

 

14.网络登录Mysql

# Mysql数据库服务器地址:192.168.4.99
# 我用另外一台linux机器:192.168.4.98 网络登录Mysql数据库访问
mysql -h 192.168.4.99 -uroot -proot -A

 

 

posted @ 2020-07-02 13:16  charseki  阅读(155)  评论(0编辑  收藏  举报