为了方便安装多版本,便没有从软件源安装mysql,转而从官网下了linux通用版本。下面是安装和配置步骤。一共起了三个实例,为了后面建集群。
-
下载软件。
地址https://dev.mysql.com/downloads
。
选择了最新的8.0,linux通用压缩版本。 -
解压文件包。
-
初始化和设置实例。
- 初始化命令:
$MYSQL_HOME/bin/mysqld --initialize --datadir=$MYSQL_DATA_HOME/mysql1 --port=3307 $MYSQL_HOME/bin/mysqld --initialize --datadir=$MYSQL_DATA_HOME/mysql2 --port=3308 $MYSQL_HOME/bin/mysqld --initialize --datadir=$MYSQL_DATA_HOME/mysql3 --port=3309
这里要注意的是,几个实例各自设定了数据目录和端口。
- 创建各实例的配置文件。
在各实例的数据目录下创建文件my.cnf。
内容罗列如下:
实例1
实例2[client] port=3307 socket=/tmp/mysql1.sock [mysqld] port=3307 socket=/tmp/mysql1.sock datadir=/home/dalton/d_arch_exp/mysql_cluster/mysql1
实例3[client] port=3308 socket=/tmp/mysql2.sock [mysqld] port=3308 socket=/tmp/mysql2.sock datadir=/home/dalton/d_arch_exp/mysql_cluster/mysql2
[client] port=3308 socket=/tmp/mysql3.sock [mysqld] port=3308 socket=/tmp/mysql3.sock datadir=/home/dalton/d_arch_exp/mysql_cluster/mysql3
- 更改初始化root密码。
initialize时,命令行会输出root用户默认随机密码,需要用mysql命令登录后修改。
包含默认密码的输出内容如下:
登录命令如下:2018-08-19T07:50:50.636354Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: t(YZH%;se3TR
修改密码的sql语句如下:$MYSQL_HOME/bin/mysql --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf -u root -p
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'Changeme_123'; FLUSH PRIVILEGES;
-
管理实例。
启动命令:$MYSQL_HOME/bin/mysqld_safe --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf &
创建启动脚本
startdb.sh
:#!/usr/bin/env bash cur_dir=$(realpath $(dirname $0)) $MYSQL_HOME/bin/mysqld_safe --defaults-file=$cur_dir/my.cnf >$cur_dir/startdb.log 2>&1 & sleep 4 cat $cur_dir/startdb.log
停止命令:
$MYSQL_HOME/bin/mysqladmin --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf shutdown
创建停止服务脚本
stopdb.sh
#!/usr/bin/env bash cur_dir=$(realpath $(dirname $0)) $MYSQL_HOME/bin/mysqladmin --defaults-file=$cur_dir/my.cnf -uroot -pfuckme123 shutdown >stopdb.log 2>&1 result=$? if (( $result != 0 )) then echo "got some problems to shutdown db" cat $cur_dir/stopdb.log else echo "shutdown ok" fi
客户端连接命令:
$MYSQL_HOME/bin/mysql --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf -u root -p
创建客户端命令
client.sh
#!/usr/bin/env bash cur_dir=$(realpath $(dirname $0)) $MYSQL_HOME/bin/mysql --defaults-file=$cur_dir/my.cnf -u root -pfuckme123 $@
作为客户端,mysql出的
workbench
软件不错。使用界面见截图:
网友评论