linux下搭建mysql8.0
上传mysql-cluster-8.0.30-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-cluster-8.0.30-linux-glibc2.12-x86_64.tar.gz
mv mysql-cluster-8.0.30-linux-glibc2.12-x86_64 /opt/app/mysql
#---新建一个msyql组
#---新建msyql用户禁止登录shell
useradd -d /opt/app/mysql -s /sbin/nologin mysql
chown -R mysql:mysql /opt/app/mysql
mkdir -p /opt/app/mysql/data
chown mysql:mysql /opt/app/mysql/data/
vim /etc/my.cnf
[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/opt/app/mysql/mysql.sock
[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log=1
general_log_file=/opt/app/mysql/mysql.log
socket=/opt/app/mysql/mysql.sock
basedir=/opt/app/mysql/
datadir=/opt/app/mysql/data
log-bin=/opt/app/mysql/data/mysql-bin
innodb_data_home_dir=/opt/app/mysql/data
innodb_log_group_home_dir=/opt/app/mysql/data
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
[mysqld_safe]
log-error=/opt/app/mysql/data/mysql.log
pid-file=/opt/app/mysql/data/mysql.pid
初始化:
cd /opt/app/mysql/bin
[root@bjtn-jrxx175-40 bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/opt/app/mysql/ --datadir=/opt/app/mysql/data --user=mysql --initialize --lower_case_table_names=1
mysqld: [Warning] World-writable config file '/etc/my.cnf' is ignored.
2022-08-12T10:24:07.555764Z 0 [System] [MY-013169] [Server] /opt/app/mysql/bin/mysqld (mysqld 8.0.30-cluster) initializing of server in progress as process 31617
2022-08-12T10:24:07.591101Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-12T10:24:13.739768Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-12T10:27:15.612324Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 9/eHnkeI1AeJ
chown mysql:mysql /opt/app/mysql/data/
chmod 644 /etc/my.cnf
cp -a ../support-files/mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
修改以下配置
basedir=/opt/app/mysql
datadir=/opt/app/mysql/data
执行
sed -i 's#\/usr\/local\/#\/opt\/app\/#' /etc/init.d/mysql
启动
service mysql start
ln -s /opt/app/mysql/bin/mysql /usr/bin
mysql -u root -p
--输入第七步生成的root临时密码
--初次修改密码
mysql> flush privileges;
Query OK, 0 rows affected (0.18 sec)
mysql>set password for root@localhost=password('umpay2010');
或者:alter user 'root'@'localhost' identified by 'umpay2010';
mysql> flush privileges; #立即生效
--设置root账户的host地址(修改了才可以远程连接,不安全不建议开放)
use mysql;
create user root@'%' identified by 'umpay2010';
grant all on *.* to root@'%' with grant option;
grant all privileges on *.* to root@'%' with grant option;
SHOW GRANTS FOR 'root'@'%';
mysql>flush privileges;
--查看表
mysql> select host,user from user;
--这里就可以使用远程连接测试了;
建库并授权:
mysql -uroot -pumpay2010
进入mysql后输入:
查看目前有哪些数据库存在:
mysql> SHOW DATABASES;
创建数据库:create schema [数据库名称] default character set utf8 collate utf8_general_ci;
例子:
mysql> create schema gyasums default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
创建用户:create user '[用户名称]'@'%' identified by '[用户密码]';
例子:
mysql> create user 'gyasums'@'%' identified by 'gyasums';
Query OK, 0 rows affected (0.00 sec)
例子:
mysql> grant all privileges on gyasums.* to 'gyasums'@'%';
Query OK, 0 rows affected (0.00 sec)
或者grant all privileges on gyasums.* to 'gyasums'@'%' identified by 'gyasums' with grant option;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
查看用户权限
show grants for 'gyasums'@'%'\G