服务器部署mysql

1、参考:https://blog.csdn.net/qq_41606459/article/details/84550301

服务器安装部署mysql

1、官网下载地址:https://www.mysql.com/downloads/

 

 

 

 

 

2、将 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 上传到 /usr/local 目录下(可以使用wget下载不同版本)

 将 安装包进行解压:登录服务器,cd /usr/local/ 下执行:tar -xzf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 进行解压,

然后重命名:

  mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql     

此时解压完的文件名为 mysql

 这个时候达到的效果是/usr/local/mysql/..(一堆解压开的文件)

3、添加用户组和用户

#添加用户组

  groupadd mysql

#添加用户mysql 到用户组mysql

  useradd -g mysql mysql

4、安装

#在/usr/local/mysql目录下新建data文件夹,以后的数据库文件将放在这里

mkdir data

依次执行以下命令:

  chown -R mysql:mysql ./

#mysql_install_db 被废弃了,取而代之的是 mysqld –-initialize

  ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

#将mysql/目录下除了data/目录的所有文件,改回root用户所有
  [root@ mysql]# chown -R root .

#mysql用户只需作为mysql/data/目录下所有文件的所有者
  [root@instance_4dbde0 mysql]# chown -R mysql data

#复制启动文件
  [root@instance_4dbde0 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

  [root@instance_4dbde0 mysq]# chmod 755 /etc/init.d/mysqld

  [root@instance_4dbde0 bin]# cp /usr/local/mysql/bin/my_print_defaults /usr/bin/

#修改启动脚本
  [root@instance_4dbde0 mysql]# vim /etc/init.d/mysqld

#修改项:
  basedir=/usr/local/mysql/
  datadir=/usr/local/mysql/data
  port=3306

#启动服务
  [root@instance_4dbde0 mysql]# service mysqld start

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
  [root@instance_4dbde0 mysql]# vim /etc/profile

#添加mysql路径
  export PATH=$PATH:/usr/local/mysql/bin

#刷新立即生效
  [root@instance_4dbde0 mysql]# source /etc/profile

配置以上信息之后,基本就可以启动了mysql(如果不能启动,请看最后的配置文件),但是现在还缺少mysql的配置文件,即my.cnf文件(没有它Mysql也可以使用内置的默认参数启动),最后说

接下来就可以使用命令登录mysql了

  [root@instance_4dbde0 bin]# mysql -uroot -p
Enter password:   -- 此时不知道密码,所以,直接先改my.cnf配置文件

#如果登不进去,则改my.cnf配置文件,跳过验证登录,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

vim /etc/my.cnf 添加 skip-grant-tables

#重新启动,登录

  ps -ef | grep mysql
  kill -9 (进程号)
  service mysqld start
  mysql -uroot

#修改密码

  use mysql;
  update user set authentication_string=password("新密码") where user='root';
  flush privileges;
  exit;

登录:

cd到mysql:usr/local/mysql/bin 下

输入命令:mysql -uroot -p

输入密码:123456

展示库:show databases;

使用库:use mysql;

创建表:create table users(id int primary key auto_increment,name varchar(255));

③注意:查看表结构:desc users;   (这些执行命令都要封号 ; 结束,回车才行

insert into users (id,name) values (1,"小明");

insert into users (id,name) values (1,'xiaoming');

注意:为什么输入中文会报错,输入英文就成功了?

原因:因为数据表中的内容为latin1字符集,latin1字符集为8bit,这说明它是不能表示中文的,因此会有报错。

修改库字符集:alter database mysql character set utf8;

修改表字符集:alter table users character set utf8;

修改字段字符集:alter table users change name name varchar(20) character set utf8;

现在可以尝试添加中文字段了,成功

查看表中内容: select * from users;

查看users表中前2行的内容: select * from users order by id limit 0,2

删除表:drop table users; 

以上参考:https://blog.csdn.net/c_faith/article/details/117289974

开启MySQL远程访问权限 允许远程连接

参考:https://www.cnblogs.com/weifeng1463/p/7941625.html

注意:服务器mysql用到的端口得开放,能访问才行哟

1、实现远程连接(改表法)-- 建议这个,比较快,还不会报错

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mys

如果报以下错误:

ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 不予理会

执行:

flush privileges; 即可重新连接

 ------------------------------

mysql连接报错

 则参考:https://blog.csdn.net/liulangshusheng2012/article/details/80347919  内容复制为以下

记录一次数据库版本升级5.7遇到的问题

问题1:

'performance_schema.session_variables' doesn't exist
'performance_schema.session_status' doesn't exist
解决:

临时生效(重启后需要再次执行,不需要重启数据库)

登录mysql里执行

set @@global.show_compatibility_56=ON;

永久生效(需重启数据库)

[mysqld]
show_compatibility_56 = ON
performance_schema
问题2:

上面的问题解决后在后来的一次sql语句执行时发现,GROUP BY 不支持

分析:

SELECT VERSION(), @@sql_mode

发现 里面 有 ONLY_FULL_GROUP_BY

临时解决:

set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
解决:

修改my.ini配置文件,增加以下配置,重启mysql服务

[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

————————————————

 

posted @ 2022-04-01 16:04  梦幻&浮云%  阅读(330)  评论(0编辑  收藏  举报