2.yum安装mariadb
yum -y install mariadb mariadb-server
不使用配置文件越过密码验证,修改密码
mysqladmin -uroot -p password ‘新密码’
3.源码安装
注意事项
CPU最少2核以上
内存最少2G以上
swap分区2G以上
硬盘空间至少20G以上
安装前的准备
安装依赖包
yum -y install gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
下载安装包
cmake-3.9.1-Linux-x86_64.tar.gz
安装cmake,8.0版本的mysql需要cmake3.5版本以上。
gcc-6.3.0.tar.gz
8.0版本的mysql需要gcc版本为5.3以上
mysql-boost-8.0.13.tar.gz
下载带有boost的安装包
安装gcc/升级gcc
安装gcc依赖包
yum -y install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel glibc-headers
安装gcc
tar xf gcc-6.3.0.tar.xz
cd gcc-6.3.0/
./configure --disable-multilib && make && make install
这个编译会非常非常久,就慢慢等吧,如果有双核CPU可以使用make -j2,4核CPU可以使用make -j4可以大大提高编译速度。
安装mysql
tar xf mysql-boost-8.0.13.tar.gz
cd mysql-8.0.13/
cmake -DBUILD_CONFIG=mysql_release \ -DINSTALL_LAYOUT=STANDALONE \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DENABLE_DTRACE=OFF \ -DWITH_EMBEDDED_SERVER=OFF \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_SSL=bundled \ -DWITH_ZLIB=system \ -DWITH_PAM=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DINSTALL_PLUGINDIR="/usr/local/mysql/lib/plugin" \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EDITLINE=bundled \ -DFEATURE_SET=community \ -DCOMPILATION_COMMENT="MySQL Server (GPL)" \ -DWITH_DEBUG=OFF \ -DFORCE_INSOURCE_BUILD=1 \ -DWITH_SSL=system \ -DWITH_BOOST=./boost
make -j2/4
make install
配置
创建数据库文件夹和日志文件夹,更改用户为mysql
useradd -s /sbin/nologin mysql mkdir -p /data/mysql chown -R mysql:mysql /data/mysql/ mkdir -p /var/log/mysql chown -R mysql:mysql /var/log/mysql/ mkdir -p /var/run/mysql chown -R mysql:mysql /var/run/mysql
修改配置文件my.cnf
vim /etc/my.cnf
[mysqld] basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock symbolic-links=0 [mysqld_safe] log-error=/var/log/mysql/mysql.log pid-file=/var/run/mysql/mysql.pid !includedir /etc/my.cnf.d
初始化mysql数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
随机密码会在提示信息中显示
复制服务文件到/etc/init.d目录下
cp /opt/mysql-8.0.20/support-files/mysql.server /etc/init.d/
chmod a+x /etc/init.d/mysql.server
/etc/init.d/mysql.server start
查看服务
netstat -anptl | grep mysql
登录数据库修改初始root密码
echo "export PATH=/usr/local/mysql/bin:$PATH:/usr/local/bin" >/etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
mysql -u root -p
在回车之后输入随机密码
修改密码
mysql> alter user 'root'@'localhost' identified with mysql_native_password BY '新密码';
mysql> flush privileges;
看到Query OK, 0 rows affected (0.00 sec)则操作成功
gcc的版本根据软件包的版本需求更新升级
五、mysql登录
1.本地登录
使用命令
2.借助软件登录
navicat
六、mysql配置
1.数据库目录结构
(一)rpm安装
mysql:存储MySQL的数据文件和表结构定义等。
mysql-files:存放需要MySQL账户权限的文件。
mysql-keyring:存放加密密钥,以供MySQL使用。
mysql.sock:MySQL服务器的Unix套接字文件。
ib_logfile0和ib_logfile1:InnoDB引擎的事务日志文件。
ibdata1:InnoDB引擎的数据文件,包括表数据和索引等。
*.err:MySQL错误日志文件,记录MySQL运行时的错误和警告等信息。
*.pid:MySQL进程ID文件,存储MySQL进程的进程号。
(二)源码安装
mysql-/
├── extra/ # 额外的工具和脚本
├── include/ # 包含头文件
├── lib/ # 包含库文件
│ ├── libmysqlclient.so # MySQL 客户端库文件
│ └── libmysqld.so # MySQL 服务器端库文件
├── share/ # 包含共享文件
├── support-files/ # 包含初始化脚本和系统服务
│ ├── mysql.server # MySQL 服务启动脚本
│ ├── mysql.service # MySQL systemd 服务配置
│ └── … # 其他各种脚本和配置文件
├── bin/ # MySQL 二进制文件
│ ├── mysqld # MySQL 服务器二进制文件
│ ├── mysql # MySQL 客户端二进制文件
│ ├── mysqladmin # 管理 MySQL 服务器的工具
│ ├── mysqldump # 导出 MySQL 数据库的工具
│ └── … # 其他各种 MySQL 工具
├── man/ # MySQL 帮助手册
├── docs/ # MySQL 文档
├── sql/ # MySQL SQL 脚本文件
└── zlib/ # MySQL 所依赖的 zlib 库
2.主配置文件详解
主配置文件所在 /etc/my.cnf
[mysqld]
[mysqld]"表示该段配置是针对MySQL服务器的
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysql-error.log
pid-file=/var/run/mysql/mysql.pid
max_connections=500
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[mysql]
[mysql]"中的配置项表示该段配置是针对MySQL客户端的
default-character-set=utf8mb4
拓展配置项
port:MySQL端口号
log_warnings:设置错误日志是否记录警告信息
slow_query_log_file:慢日志文件路径名
long_query_time:当查询时间超过指定的秒数时,会被记录到慢日志中
innodb_buffer_pool_size:InnoDB缓存池大小
join_buffer_size:用于JOIN操作的缓存大小
max_allowed_packet:MySQL允许传输的最大数据包大小
skip_name_resolve:禁用DNS解析
总结
以上是在Linux操作系统上安装MySQL的一般步骤总结。根据具体的Linux发行版和版本,可能会有一些细微的差异,但大致流程是相似的。在安装过程中,需要注意权限设置、依赖软件的安装和配置文件的修改等细节,以确保MySQL能够正常运行。