一.mysql编译安装部署
1.主流的数据库
2.官网:http://www.mysql.com
二.mysq编译安装脚本
1. 安装一类包
yum install -y gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel
useradd -s /sbin/nologin mysql
cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.45.tar.gz
tar -zxvf mysql-5.6.45.tar.gz
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATAIR=/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.45/support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
三. 编译选项说明
1.CMACK_INSTALL_PREFIX 指定按装目录
2.MYSQL_DATADIR指定Mysql的数据目录
四. 环境变量修改
1. vim /etc/profile
2. export PATH=$PATH:/usr/local/mysql/bin
3. source /etc/profile 生效变量环境
mysql --version 查看mysql 版本
五. mysql的启动步骤
1.更新配置
更新mysql配置vim /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-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet =512
connect_timeout = 60
net_read_timeout = 120
[mysqld_safe]
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
2.数据库初始化
mysql数据初始化
mkdir -pv /data/mysql
chown -R mysql:mysal /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
3.启动数据库
使用systemctl 管理mysqld,vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
[install]
WantedBy=multi-user.target
启动mysql服务器 systemctl start mysqld
查看mysql进程 ps -ef | grep mysql
看出监听端口 netstat -ntlp
六. 基本操作
mysql的安全方式
1.mysql 能限制ip访问,访问需要用户名密码,mysql权限还能在细分
2.默认让127.0.0.1访问,用户名root,不需要密码
3.登录测试 mysql -uroot -h 127.0.0.0 -A
4.生效环境变量 source /etc/profile
mysql加密码
创建MySQL 用户密码[root@localhost /]# mysqladmin -h 127.0.0.1 -u root password 'zabbixpwd'
登录 [root@localhost /]# mysql -uroot -h 127.0.0.1 -pzabbixpwd
mysql授权ip登录,指定用户名
GRANT ALL PRIVILEGES ON *.* TO 'root'@192.168.29.%' IDENTIFIED BY 'zabbixpwd' WITH GRANT OPTION;
数据库权限刷新 flush privileges;