mysql的特性
插件式存储引擎:也称为“表类型”,存储管理器有多种实现版本,功能和特
性可能均略有差别;用户可根据需要灵活选择,Mysql5.5.5开始innoDB引擎是MYSQL默认引擎
单进程,多线程
诸多扩展和新特性
提供了较多测试组件
开源
mysql8.0二进制安装
安装前准备:
1.从官网下载二进制安装包
2.创建mysql用户,shell类型为nologin,用户类型是系统账户,家目录指定到将要存放数据库的目录
安装步骤:
1.解压安装包
2.创建安装目录和头文件的软连接
ln -s /app/mysql /usr/local/mysql
ln -sv /usr/local/mysql/include /usr/include/mysql
3.复制服务脚本文件到ini.d
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
如有需要可以添加开机启动
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
4.创建数据库存放的目录
mkdir -p /data/mysql/{data,log,tmp}
5.修改目录属性和权限
chown -R mysql:mysql /app/mysql
chown -R mysql:mysql /data/mysql
chmod 750 /app/mysql
chmod 750 /data/mysql
6.添加环境变量脚本和库文件路径
echo "export PATH=/app/mysql/bin:\$PATH" > /etc/profile.d/mysql.sh
echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf
7.创建/etc/my.cnf文件
cat > /etc/my.cnf <<EOF
!includedir /etc/my.cnf.d
EOF
8.创建客户端和服务器的配置文件
cat > /etc/my.cnf.d/mysql-clients.cnf <<EOF
[mysql]
prompt="\u@\h \R:\m:\s [\d]> "
#auto-rehash
port = 3306
socket = /app/mysql/my.sock
default-character-set = utf8mb4
max_allowed_packet = 12M
EOF
cat > /etc/my.cnf.d/mysql-server.cnf <<EOF
[mysqld]
skip-grant-tables
innodb_file_per_table
port = 8670
user=mysql
socket = /app/mysql/my.sock
pid_file = /app/mysql/my.pid
basedir = $/app/mysql
datadir = /data/mysql/data
tmpdir = /data/mysql/tmp
character-set-server = utf8mb4
max_connections = 1000
slow_query_log = ON
slow_query_log_file = /data/mysql/log/slow.log
log_error = /data/mysql/log/error.log
log_bin = /data/mysql/log/binlog.log
log_bin_index = /data/mysql/log/binlog.index
binlog_format = row
binlog_expire_logs_seconds = 864000
max_binlog_size = 50M
binlog_cache_size = 2M
log_slave_updates = ON
[mysql_safe]
user=mysql
EOF
默认字符集推荐设置成utf8mb4
9.初始化数据库文件
/app/mysql/bin/mysqld --initialize --user=mysql
10.启动mysql服务
systemctl start mysqld
初始化时root密码是写在日志里,输入起来比较麻烦,所以上面在写服务用的配置文件时加上了跳过检测口令的选项,下面来清空root密码,以便登录后重新设置
mysql -e "update mysql.user set authentication_string='' where user = 'root';
sed -r -i 's/^(skip.*)$/#\1/' /etc/my.cnf.d/mysql-server.cnf
systemctl restart mysqld
使用mysql -uroot 空口令直接登录执行
alter user root@"localhost" identified by "passwd";
至此mysql服务已经安装配置完毕
配置文件覆盖顺序
后面覆盖前面的配置文件:
/etc/my.cnf Global选项
/etc/mysql/my.cnf Global选项
SYSCONFDIR/my.cnf Global选项
$MYSQL_HOME/my.cnf Server-specific 选项
–defaults-extra-file= path
~/.my.cnf User-specific 选项