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