3分钟安装MySQL:安装
- 1.检查并安装依赖包
- 2.删除已安装的mysql
- 3.添加mysql用户
- 4.创建相关目录
- 5.安装数据库
- 6.创建配置文件
- 7.初始化数据库
- 8.配置启动脚本
- 9.启停测试
1.检查并安装依赖包
rpm -qa | grep libaio
yum install -y libaio
yum -y install gcc gcc-c++ bison ncurses ncurses-devel zlib libxml2 openssl dtrace libstdc++-devel
2.删除已安装的mysql
rpm -qa | grep -i mysql |xarge rpm -e
3.添加mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
4.创建相关目录
mkdir -p /mysql/{app,data,log,soft,backup}/3306
mkdir -p /mysql/data/3306/data
mkdir -p /mysql/log/3306/{binlog,relaylog}
chown -R mysql:mysql /mysql
5.安装数据库
5.1.二进制安装
cd /mysql/app
tar xvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
[root@ms05 app]# ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql
5.2.源代码安装
cd cmake-3.5.2
./bootstrap
gmake
gmake install
cd /mysql/app/mysql-5.7.20
cmake . -DCMAKE_INSTALL_PREFIX=/mysql/app/mysql -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/mysql/data/3306/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/mysql/data/3306 -DMYSQL_UNIX_ADDR=/mysql/data/3306/mysql.sock -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/mysql/app/mysql-5.7.20/boost/boost_1_59_0
make && make install
6.创建配置文件
/mysql/data/my.cnf
[client]
port=3306
socket = /mysql/data/3306/mysql.sock
[mysql]
no-beep
prompt="\u@ms05 \R:\m:\s [\d]> "
auto-rehash
default-character-set=utf8
[mysqld]
server-id=3306
port=3306
user = mysql
bind_address= 192.168.1.75
basedir=/mysql/app/mysql
datadir=/mysql/data/3306/data
socket = /mysql/data/3306/mysql.sock
pid-file=/mysql/data/3306/mysql.pid
character-set-server=utf8
skip-character-set-client-handshake=1
autocommit = 0
max_connections = 800
max_connect_errors = 1000
default-storage-engine=INNODB
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
sort_buffer_size = 32M
join_buffer_size = 128M
tmp_table_size = 72M
max_allowed_packet = 16M
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800
wait_timeout = 1800
read_buffer_size = 16M
read_rnd_buffer_size = 32M
query_cache_type = 1
query_cache_size=1M
table_open_cache=2000
thread_cache_size=768
myisam_max_sort_file_size=10G
myisam_sort_buffer_size=135M
key_buffer_size=32M
read_buffer_size=8M
read_rnd_buffer_size=4M
back_log=1024
open_files_limit=65536
table_definition_cache=1400
log-output=FILE
general_log = 0
general_log_file=/mysql/log/3306/testdb-general.err
slow_query_log = ON
slow_query_log_file=/mysql/log/3306/testdb-query.err
long_query_time=10
log-error=/mysql/log/3306/testdb-error.err
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
expire_logs_days = 90
min_examined_row_limit = 100
7.初始化数据库
mysqld --defaults-file=/mysql/data/my.cnf --initialize --user=mysql --basedir=/mydql/app/mysql --datadir=/mysql/data/3306/data
登录修改密码
###初始密码在/mysql/log/3306/testdb-error.err中
mysql -uroot -p
alter user root@'localhost' identified by '123456';
update mysql.user set host='%' where user='root';
flush privileges;
8.配置启动脚本
[root@ms05 support-files]# pwd
/mysql/app/mysql/support-files
[root@ms05 support-files]# cp mysql.server mysql
修改以下参数
basedir=/mysql/app/mysql
datadir=/mysql/data/3306/data
mysqld_pid_file_path=/mysql/data/3306/mysql.pid
basedir=/mysql/app/mysql
bindir=/mysql/app/mysql/bin
datadir=/mysql/data/3306/data
sbindir=/mysql/app/mysql/bin
libexecdir=/mysql/app/mysql/bin
$bindir/mysqld_safe --defaults-file=/mysql/data/3306/data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
将启动文件复制到服务目录下
[root@ms05 support-files]# cp mysql /etc/init.d/
9.启停测试
[root@ms05 support-files]# service mysql start
Starting MySQL.. SUCCESS!
[root@ms05 support-files]# service mysql stop
Shutting down MySQL.. SUCCESS!
[root@ms05 support-files]# service mysql start
Starting MySQL.. SUCCESS!
[root@ms05 support-files]# chkconfig --add mysql
[root@ms05 support-files]# chkconfig mysql off
[root@ms05 support-files]# chkconfig mysql --level 3 on
[root@ms05 support-files]# chkconfig --list | grep mysql
mysql 0:off 1:off 2:off 3:on 4:off 5:off 6:off