linux下搭建mysql8.0

小白不怕黑 / 2024-12-29 / 原文

上传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