https://www.cnblogs.com/sunsky303/p/8274586.html
https://blog.csdn.net/weixin_41245919/article/details/82778476
源代码和安装包
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/
mysql的官方yum厂库
http://repo.mysql.com/
mysql : yum安装(不需要管理依赖软件,直接安装!对配置和文件位置自定义麻烦)
rpm软件包安装,不需要网络
源码安装
5.5 以后的所有版本安装都使用cmake 编译
5.5 之前使用./configure
源码安装流程:
-
创建一个文件夹,ls下载源代码包
wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz
解压 : tar -zxvf 下载的压缩包
-
安装编译环境和mysql依赖软件
yum -y install gcc gcc-c++ ncurses-devel perl
yum -y install cmake
yum -y install autoconf
-
根据配置文件生成编译文件关系
进入到解压后的mysql文件夹中执行下面一堆代码
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
如果报Could NOT find Curses这个就 [root@localhost mysql-5.5.17]# rm
CMakeCache.txt [root@localhost mysql-5.5.17]# yum install
ncurses-devel [root@localhost mysql-5.5.17]# yum install bison
重新执行上面代码
注释:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 数据库的安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data 数据库的数据文件的存储位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock mysql的通信文件位置
-DSYSCONFDIR=/etc 配置文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 开启mysql的myisam引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 开启innobase引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 开启memory引擎
-DWITH_READLINE=1 启用快捷功能
-DMYSQL_TCP_PORT=3306 mysql监听的端口
-DENABLED_LOCAL_INFILE=1 允许从本地数据库导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all 安装扩展所有字符集
-DDEFAULT_CHARSET=utf8 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 检验字符
- 编译生成可执行文件(要很长时间,可以开一局游戏)
*make
- 安装可执行文件
*make install
- 创建用户和组
保证服务器的安全
useradd mysql(创建用户并生成和用户名相同的组)
- 初始化mysql数据库
先进入到./usr/local/mysql/scripts/目录下,然后执行下面代码:
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql/bin/mysqladmin -u root password ‘new-password’
/usr/local/mysql/bin/mysqladmin -u root -h lin password ‘new-password’
Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; /usr/local/mysql/bin/mysqld_safe &
ou can test the MySQL daemon with mysql-test-run.pl
启动服务报错
Starting MySQL.190506 22:06:43 mysqld_safe error: log-error set to
‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create
writable for user ‘mysql’.
-
初始化数据库后,创建日志文件
1.创建文件夹 mkdir /var/log/mariadb
2.创建日志文件 touch /var/log/mariadb/mariadb.log
-
修改安装目录下面的my.cnf配置文件
basedir = /usr/local/mysql 安装路径 datadir =/usr/local/mysql/data 数据库文件 port = 3306 端口号 # server_id = ..... socket = /tmp/mysql.socket 设置socket存放的位置
-
启动服务
1./usr/local/mysql/support-files/mysql.server start
-
创建socket的软连接
* mysql.sock作用是例如你无须定义连接host的具体IP地址,只要为空或localhost就可以,如果文件被删除掉就使用 localhost用户连接不到mysql服务器。
先在/var/lib/里面创建mysql文件夹(先启动服务之后才会有/tmp/mysql.socket)
* ln -s /tmp/mysql.socket /var/lib/mysql/mysql.sock
-
为root用户设置密码
1./usr/local/mysql/bin/mysqladmin -u root password 'root'
-
配置环境变量便于直接在根目录启动mysql
[root@localhost /]# vi /etc/profile export MYSQL_HOME=/usr/local/mysql export PATH=$PATH:$MYSQL_HOME/bin 然后source /etc/profile刷新配置文件
14.配置服务,方便在根目录直接启动服务
ln -s /usr/local/mysql/support-files/mysql.server /usr/bin/mysql
##YUM安装
1. 下载对应的yum厂库地址 1. http://repo.mysql.com/ 2. 安装mysql的yum厂库 1. yum install mysql.*.rpm 3. 查询yum中mysql列表 1. yum list mysql 4. 安装mysql-community-server.x86_64 5. 启动服务 1. systemctl start mysqld.service 6. 查看mysql服务启动状态 1. systemctl status mysqld.service 7. 设置root密码跟上面一样