mariadb二进制包下载:mariadb-10.2.8-linux-x86_64.tar.gz
mariadb10.2.8下载地址:https://downloads.mariadb.org/interstitial/mariadb-10.2.8/bintar-linux-x86_64/mariadb-10.2.8-linux-x86_64.tar.gz?serve
涛哥本地的环境是lnmp,下面的方法是mariadb可以和mysql共存
1、下载解压到/usr/local/mariadb
2、创建用户组 mariadb 和用户mariadb 然后修改文件的所有者
1 2 3 4 |
sudo groupadd --system mariadb sudo useradd -g mariadb mariadb sudo chown -R mariadb:mariadb /usr/local/mariadb sudo chown -R mariadb:mariadb /usr/local/mariadb/data/ |
3、复制创建my.cnf
1 |
sudo cp /usr/local/mariadb/support-files/my-large.cnf /usr/local/mariadb/data/my.cnf |
4、编辑文件/usr/local/mariadb/data/my.cnf加入自定义路径,通信协议,端口,用户和一些主要的配置信息,包括数据目录和基本路径。最终的文件结构至少具有下面的一些配置:
1 2 3 4 5 6 7 8 |
datadir = /usr/local/mariadb/data basedir = /usr/local/mariadb port = 3309 #修改端口可以和mysql3306共存 socket = /usr/local/mariadb/data/mariadb.sock user = mariadb 非必须 #log_error = /usr/local/mariadb/data/mariadb.err #pid-file = /usr/local/mariadb/data/mariadb.pid |
5、从支持文件中拷贝 init.d 脚本到正确的目录
1 2 |
sudo cp /usr/local/mariadb/support-files/mysql.server /etc/init.d/mariadb sudo chmod +x /etc/init.d/mariadb |
6、编辑 /etc/init.d/mariadb 脚本,替换脚本中的 mysql 为 mariadb:
1 2 3 4 5 6 7 8 |
- # Provides: mysql + # Provides: mariadb - basedir= + basedir=/usr/local/mariadb - datadir= + datadir=/usr/local/mariadb/data - lock_file_path="$lockdir/mysql" + lock_file_path="$lockdir/mariadb" |
关键的地方是这个文件的最后部分,你需要告诉 MariaDB 使用哪个 cnf 文件。 在 $bindir/mysqld_safe 后面的 start 部分,添加 –defaults-file=/usr/local/mariadb/data/my.cnf 。
最终的配置文件和下面的内容类似:
1 2 3 4 |
# Give extra arguments to mysqld with the my.cnf file. This script # may be overwritten at next upgrade. $bindir/mysqld_safe --defaults-file=/usr/local/mariadb/data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 & wait_for_ready; return_value=$? |
7、通过指派 my.cnf 参数来运行 mysql_install_db 命令
1 |
sudo scripts/mysql_install_db --defaults-file=/usr/local/mariadb/data/my.cnf |
8、现在你可以通过下面的方式来启动 MariaDB 数据库了
1 |
/etc/init.d/mariadb start |
可能遇到的坑
1、当使用二进制安装mysql ,mariadb等数据库时,启动时报错
Can’t find messagefile ‘/usr/local/mysql/share/errmsg.sys’
如果二进制安装目录 不是 /usr/local/mysql 就会报些错误
需要在配制文件 中添加配制项目
比如我的安装目录 为/usr/local/mysql
则需要在/etc/my.cnf中添加的如下行
language = /usr/local/mysql/share/english
2、Warning: World-writable config file ‘/etc/my.cnf’ is ignored
解决方法:chmod 644 /etc/my.cnf
3、Failed at step EXEC spawning /etc/mysql/debian-start 文件找不到
通过下面命令找下debian-start(非必须)
1 2 3 |
locate debian-start updatedb locate debian-start |
把二进制包里的mariadb-10.2.8/debian/additions/debian-start文件复制到/etc/mysql/下面就可以了(必须)
4、mariadb版本升级(不算是坑)
版本文件更新完,得升级mysql数据库字典
1 |
/usr/local/mariadb/bin/mysql_upgrade -uroot -p |
再次启动就OK了,涛哥摸索的好辛苦
转载请注明:PHP笔记 » Mariadb10.2.8数据库二进制包Ubuntu下安装