mysql 5.6.45源码安装
使用cmake安装:参考链接
> cmake -DCMAKE_INSTALL_PREFIX=/etc/mysql -DMYSQL_DATADIR=/etc/mysql/data -DSYSCONFDIR=/etc/my.cnf -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=30200 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all
> make && make install
这里我们指定了数据库目录及配置文件位置,sock文件位置以及连接客户端连接mysql启动的默认端口
编译安装时间会长一些,make install 完成后我们切换目录到`etc/mysql`下,执行以下命令初始化安装:
./scripts/mysql_install_db --user=mysql --basedir=/etc/mysql --datadir=/etcmysql/data --defaults-file="/etc/my.cnf"
网上有带 --random-passwords 选项安装,密码默认在/root/.mysql_secret中(未测),注意配置文件带上双引号,否者会出现以下错误(我这里就是这样):
12月 13 09:43:11 root systemd[1]: Failed to start LSB: start and stop MySQL.
由于系统是kali ,环境变量设置是在/etc/profile文件中添加:
export MYSQL_HOME=/etc/mysql #设置MYSQL环境变量
export PATH=$MYSQL_HOME/bin:$PATH
使用source /etc/profile 是环境变量生效 ,现在我们可以 mysql -u root -p 登录了
我这里安装是没有指定生成随机密码,按照mysql忘记密码的方式修改密码:
1.关闭正在运行的MySQL服务。打开cmd进入MySQL的bin目录;
2.输入mysqld --skip-grant-tables 回车。(–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。)
3.再开一个teminal窗口(因为刚才那个teminal窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
连接权限数据库: use mysql; 。
4.改密码:update user set password=password(“root”) where user=“root”;(别忘了最后加分号) 。
刷新权限(必须步骤):flush privileges; 。
退出 quit;
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
版本源文件:mysql-5.6.45.tar.gz;
安装过程中如果出现错误,可以在cmake 设置的数据库目录下查看具体错误信息,我这里是/etc/mysql/data/root.err文件
因INNODB的特殊性,我们默认建表使用INNODB引擎,/etc/my.cnf添加以下配置
[mysqld]
default-storage-engine=InnoDB
lower_case_table_names=1
安装后cnf文件没有[client]配置,添加如下:
[client]
socket = /tmp/mysql.sock
到此,即可启动mysql

浙公网安备 33010602011771号