-
用opkg安装myserver及其依赖包
opkg update
opkg install libpthread libncurses libreadline mysql-server -
创建mysql数据目录
mkdir -p /mnt/mmcblk0p3/mysql
mkdir -p /mnt/mmcblk0p3/tmp -
修改配置文件
vi /etc/my.cnf
datadir = /mnt/mmcblk0p3/mysql/ #数据保存路径
tmpdir = /mnt/mmcblk0p3/tmp/
bind-address = 0.0.0.0 #绑定的ip地址,允许所有地址访问 -
初始化建库
mysql_install_db --force -
启动mysql,并设定开机启动
/etc/init.d/mysqld start
/etc/init.d/mysqld enable
安装完成之后,发现没有装任何客户端的相关的工具
此时只能在另一台机器上远程连接onecloud中的MySQL
虽然my.cnf配置文件中配置了允许来自任意IP的链接,但MySQL默认root用户只能通过本机IP登录
此时使用frpc,将连接到onecloud的TCP连接转发到onecloud的3306端口上,这样对于MySQL来说,TCP连接就是来自于127.0.0.1
在my.cnf中增加 skip-grant-tables
执行flush privileges; 刷新
然后就可以在另一台机器的DataGrip里连接到onecloud的MySQL上,密码为空。
进入MySQL后执行如下命令修改密码
use mysql;
select user, host from user;
UPDATE user SET Host='%' WHERE User='root' AND Host='localhost'; ##允许root用户通过任意IP来登录
update user set password=password('123456') where user='root'; ##修改root用户密码
flush privileges; ##刷新权限
附录my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
#password=123456
[mysqld]
user = mariadb
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
############ Don't put this on the NAND #############
# Figure out where you are going to put the databases
# And run mysql_install_db --force
datadir = /mnt/mmcblk0p3/mysql/
######### This should also not go on the NAND #######
tmpdir = /mnt/mmcblk0p3/tmp/
skip-external-locking
bind-address = 0.0.0.0
# Fine Tuning
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
# The following can be used as easy to replay backup logs or for replication.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
#expire_logs_days = 10
#max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#skip-grant-tables
附录 frpc.ini
[common]
server_addr = 47.103.103.111
server_port = 65000
token = 123456
log_file = /root/frpc.log
log_level = debug
log_max_days = 5
[onecloud-mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 65008