一:mysql的源码编译安装
①yum install -y gcc gcc-c++ make openssl openssl-devel cmake ncurses ncurses-devel bison bison-devel libaio libaio-devel
②#创建mysql用户:useradd -M -s /sbin/nologin mysql
cd /usr/local/src
wget ‘https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.39.tar.gz‘
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 \
-DEXTRA_CHARSETS=all \
-DWITH_DEBUG=0 \
-DWITH_SSL=yes \
-DENABLED_LOCAL_INFILE=1\
-DWITH_READLINE=1\
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STORAGE_ENGINE=1\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
make -j 2 && make install
注:-j 用来指定CPU核心数,可加快编译速度,不加也可以
【编译有错误后,执行make clean ,然后要删除 rm CMakeCache.txt ,才能重新编译】
③#mysql.server脚本用来管理mysql服务器的启动和关闭
cp support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
④检查mysql是否安装成功: /usr/local/mysql/bin/mysql –version
二:Mysql的数据初始化及管理:
①vim /etc/my.cnf 将以下内容复制到文件中
[mysqld]
bind-address=127.0.0.1
port=3306
datadir=/data/mysql
socket=/tmp/mysql.sock
user=mysql
skip-name-resolve
slow_query_log=on
long_query_time=1
slow_query_log_file=/data/mysql/mysql-slow.log
expire_logs_days=2
innodb-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet = 512M
connect_timeout = 60
net_read_timeout = 120
[mysqld_safe]
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
②mysql配置讲解
bind-address=127.0.0.1
port=3306 #监听ip和端口
datadir=/data/mysql #数据目录
socket=/tmp/mysql.sock #指定socket的路径,默认就是/tmp/mysql.sock
innodb-file-per-table=1 #独立表空间
innodb_flush_log_at_trx_commit = 2 #配置为1表示数据写入后马上写到磁盘,系统压力大。配置为2的话,会每秒执行一次写盘的操作,压力较小
log_warnings = 1 #警告信息写入日志
③Mysql启动前需要进行数据的初始化
mkdir -pv /data/mysql
chown mysql:mysql /data/mysql
yum install -y perl-Module-Install #数据初始化脚本依赖于perl,所以先安装一个perl
/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –user=mysql –datadir=/data/mysql/ #Mysql初始化数据目录
④初始化完启动mysql服务器
nohup /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf & #手动启动
mysqladmin -uroot -p -S /data/mysql/mysql.sock shutdown #手动关闭
/etc/init.d/mysqld start #用提供的脚本启动
/etc/init.d/mysqld stop #用提供的脚本关闭
⑤使用systemctl管理:vim /usr/lib/systemd/system/mysqld.service 复制以下内容:
[Unit]
Description=mysqld
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
ExecStop=/etc/init.d/mysqld stop
[Install]
WantedBy=multi-user.target
⑥管理mysql
systemctl enable mysqld #开机启动mysqld
systemctl start mysqld #启动mysqld
ps auxf|grep mysql|grep -v grep #有进程在
netstat -tulnp|grep mysql #有端口监听
三:Mysql客户端使用和远程登录说明
① mysql服务器有提供客户端工具:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/ #mysql命令经常使用
mysql -uroot #默认连接到localhost,密码为空
② mysql默认的密码是空的,但只允许本机登录
mysql -uroot -h 127.0.0.1 #为什么无需密码就能登录
mysql> select user,password,host from mysql.user;
③ 本地登录mysql安全加固
delete from mysql.user where user=”; #删除空用户
update mysql.user set password=PASSWORD(‘password’) where user=’root’; #设置密码
select user,password,host from mysql.user; #密码加密
flush privileges; #刷新权限
④ 登录有密码的mysql服务器:mysql -uroot -p -h 127.0.0.1
⑤给内网ip、外网ip授权
mysql -uroot -h x.x.x.x #默认使用内网ip无法登录,因为没在白名单内
GRANT ALL PRIVILEGES ON . TO ‘用户名’@’内网IP或公网IP’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
flush privileges;
内网服务器登录: mysql -uroot -p -h xxx.xxx.xx
四:Mysql的两个重要日志
①mysql重要的两个日志文件
错误日志 #当mysql启动有问题的时候,我们需要借助这个日志进行排查
慢日志 #当业务出现慢或者超时的时候,我们需要观查mysql的慢日志是否过多
mysql的错误日志:log-error=/data/mysql/mysqld.log
观察mysql错误日志:tail -f /data/mysql/mysqld.log
②mysql慢日志说明:
slow_query_log=on
long_query_time=1
slow_query_log_file=/data/mysql/mysql-slow.log
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
三优资源网 » mysql5.6.39源码编译安装、配置!
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 三优资源网