概述
Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)
- 写作目的
- 安装包准备
- 安装Cmake
- 安装MYSQL
- 创建几个要用到的文件夹
- cmake构建mysql
- 修改配置文件
- 初始化mysql
- 启动mysql
- DONE
写作目的
如题,基本按照前人教程https://blog.csdn.net/g863402758/article/details/78529447中所述操作。然而一路上定然是有坑的,记录一下,方便大家。
安装包准备
- MySQL安装包:mysql-5.5.37.tar.gz
百度网盘链接:http://pan.baidu.com/s/1dD8Gnz7 密码:he8y - cmake安装包:cmake-2.8.12.2.tar.gz
百度网盘链接:http://pan.baidu.com/s/1kTBlS15 密码:tivp
安装Cmake
下载后解压,进入解压后的目录下,执行下面操作:
-
./configure --prefix=$HOME/local/cmake-2.8.12.2
-
make
-
make install
再配置一下cmake的环境变量
-
vi ~/.bash_profile
-
在 path的后面加上 $HOME/local/cmake-2.8.12.2/bin
-
source ~/.bash_profile
Cmake Done
可输入cmake –version来查看是否安装成功
安装MYSQL
创建几个要用到的文件夹
- mysql数据目录:mkdir -p ~/data/mysql-5.5.37
- mysql配置文件的目录:mkdir -p ~/etc/mysql-5.5.37
- mysqld_safe的日志目录:mkdir -p ~/logs/mysqld_safe/
cmake构建mysql
进入Mysql安装包解压后的文件夹
-
cmake . -DCMAKE_INSTALL_PREFIX=$HOME/local/mysql-5.5.37 -DMYSQL_DATADIR=$HOME/data/mysql-5.5.37 -DSYSCONFDIR=$HOME/etc/mysql-5.5.37
这个地方可能会报一个错误:
Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH)
。
错误原因是缺少一个叫ncurses的软件,非root用户可参照https://www.jianshu.com/p/f7f24b4b2625中的方法下载ncurses。下好后将上面的命令后面加上
-DCURSES_LIBRARY=$HOME/local/ncurses-6.0/lib/libncurses.a -DCURSES_INCLUDE_PATH=$HOME/local/ncurses-6.0/include
这部分即为ncurses组件的路径配置
3. make
4. make install
这步完成后在此目录下执行命令
cp support-files/my-huge.cnf ~/etc/mysql-5.5.37/my.cnf
这是为了将mysql的配置文件搞到我们的势力范围内。
修改配置文件
- 改端口:默认端口3306建议修改一下,我改成36810
- 改数据路径:
datadir = /home/users/zhouzhirui/data/mysql-5.5.37
此处路径一定要是全的。如果写成~/data/ mysql-5.5.37
或$HOME/data/ mysql-5.5.37
的话,在后面初始化或启动过程中会出问题 [mysql]
#no-auto-rehash
auto-rehash
这是设置mysql里面的自动补全[mysqld_safe]
log-error=/home/users/zhouzhirui/logs/mysqld_safe/mysqld.log
pid-file=/home/users/zhouzhirui/data/mysql-5.5.37/mysqld.pid
初始化mysql
进入~/local/mysql-5.5.37
后执行
./scripts/mysql_install_db –no-defaults --defaults-file=/home/users/zhouzhirui/etc/mysql-5.5.37/my.cnf
这里一定要注意defaults-file前是两个横杠,打成一个的话会报错。
另外,这里可能会报这样一个错误:
Warning: World-writable config file '/home/users/zhouzhirui/etc/mysql-5.5.37/my.cnf' is ignored
这是由于我们这个目录下的my.cnf的权限太大,任何用户都可以随意读写修改,所以mysql会自动找到/etc/my.cnf文件去进行配置。由于我们没有配置过这个my.cnf文件,而且这个文件是在我们没法修改的区域内(再次强调我们没有root权限…),所以用它来初始化会有很多问题。解决方法可以用
chmod 664 ~/etc/mysql-5.5.37/my.cnf
命令来降低my.cnf的修改权限。
启动mysql
./bin/mysqld_safe &
DONE
最后
以上就是烂漫秀发为你收集整理的Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)写作目的安装包准备安装Cmake安装MYSQL的全部内容,希望文章能够帮你解决Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)写作目的安装包准备安装Cmake安装MYSQL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复