https://www.yiibai.com/mysql/basic-mysql.html

安装

ubuntu

命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server

CentOS

rpm

查询mysql 是否安装
rpm -qa|grep -i mysql

查看mysql所有安装包的文件存储位置
rpm -qal |grep mysql
列出软件包安装的文件
rpm -ql
安装软件:执行rpm -ivh rpm包名,如: #rpm -ivh apache-1.3.6.i386.rpm
升级软件:执行rpm -Uvh rpm包名。
反安装:执行rpm -e rpm包名。
查询软件包的详细信息:执行rpm -qpi rpm包名
查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名

mysql

查看mysql 状态。
service mysql status
停止MySQL服务、删除之前安装的MySQL

1) 停止服务命令:(mysql服务命令有二种:一种是mysql,一种是mysqld)
停止方式1:service mysql stop
停止方式2:/etc/init.d/mysql shutdown
停止方式3:service mysqld stop
停止方式4:/etc/init.d/mysqld shutdown
2) 删除mysql命令:rpm –e (删除命令) rpm -e –nodeps (强制删除命令)
例如:rpm -ev MySQL-client-5.5.25a-1.rhel5rpm -e –nodeps MySQL-server-5.5.25a-1.rhel5
3)查询老版本MySQL的目录、并且删除老版本MySQL的文件和库
4)查询命令:find / -name mysql
例如:/var/lib/mysql/var/lib/mysql/mysql/usr/lib64/mysql
5) 删除命令:rm –rf
例如:rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除rm -rf /etc/my.cnf
6) 再次查找机器是否安装Mysql
使用查询命令:rpm -qa|grep -i mysql 无结果,说明已经卸载彻底、接下来直接安装mysql即可
7) 通过yum命令来查看MySQL版本
在线查看版本命令:yum list | grep mysql
8) 通过yum命令在线安装MySQL

在线安装命令:yum install(单个安装) yum install –y(多个安装)

例如:

yum install mysql-server

yum install –y mysql-server mysql mysql-deve

install

  1. Step1: 检测系统是否自带安装mysql
  2. # yum list installed | grep mysql
  3. Step2: 删除系统自带的mysql及其依赖命令:
  4. # yum -y remove mysql-libs.x86_64
  5. Step3: CentOS添加rpm源,并且选择较新的源命令:
  6. # wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  7. # yum localinstall mysql-community-release-el6-5.noarch.rpm
  8. # yum repolist all | grep mysql
  9. # yum-config-manager --disable mysql55-community
  10. # yum-config-manager --disable mysql56-community
  11. # yum-config-manager --enable mysql57-community-dmr
  12. # yum repolist enabled | grep mysql
  13. Step4:安装mysql 服务器命令:
  14. # yum install mysql-community-server
  15. Step5: 启动mysql命令:
  16. # service mysqld start
  17. Step6: 查看mysql是否自启动,并且设置开启自启动命令:
  18. # chkconfig --list | grep mysqld
  19. # chkconfig mysqld on
  20. Step7: mysql安全设置命令:
  21. # mysql_secure_installation








[

](https://blog.csdn.net/weixin_36168780/article/details/113556132)

yum

https://blog.csdn.net/sunylat/article/details/81869513

init

service mysql start
create user ‘用户名’@’%’ identified by ‘密码’;
# 创建用户
grant all on . to ‘用户名’@’%’;
# 授权
flush privileges; # 刷新权限 1

python

mysql-connector-python

pip install mysql-connector-python

https://github.com/mysql/mysql-connector-python

PyMySQL

django

Requirements
  • Python — one of the following:
  • MySQL Server — one of the following:

    pip install PyMySQL
    https://github.com/PyMySQL/PyMySQL

    mysqlclient

    django
    Linux
    You may need to install the Python 3 and MySQL development headers and libraries like so:

  • $ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential # Debian / Ubuntu

  • % sudo yum install python3-devel mysql-devel # Red Hat / CentOS

Then you can install mysqlclient via pip now:
https://github.com/PyMySQL/mysqlclient
pip install mysqlclient

error

1 django.db.utils.OperationalError: (1698, “Access denied for user ‘root’@’localhost’”)

Performing system checks…

  1. create user 'wwf'@'%' identified by '120631';
  2. #
  3. grant all on *.* to 'wwf'@'%';
  4. #
  5. flush privileges;

GRANT ALL PRIVILEGES on . to ‘root’@’127.0.0.1’ identified by ‘thinkive’;
flush privileges;

mysql> grant all privileges on . to root@localhost identified by ‘123456’ with grant option;

create user ‘django’@’localhost’ identified by ‘user password’;
CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
创见用户
grant usage on . to ‘django’@’localhost’;
GRANT USAGE ON . TO ‘dummy’@’localhost’;
一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为’N’。假定你将在以后将具体权限授予该账户。
修改community@localhost权限为select
grant all privileges on django-database-1.* to ‘django’@’localhost’;
设置访问数据库权限

GRANT ALL PRIVILEGES ON test_db. TO ‘user’@’192.168.56.%’ IDENTIFIED BY ‘xxxxxxxxxx’;
GRANT ALL PRIVILEGES ON
. TO ‘fcq’@’localhost’ IDENTIFIED BY ‘123456’ ;
grant all privileges on
.* to ‘fcq’@’localhost’ identified by ‘123456’ with grant option;

create user ‘fcq’@’%’ identified by ‘123456’;
#
grant all on . to ‘fcq’@’%’;
#
flush privileges;

1.2 MySQLdb._exceptions.OperationalError: (1045, “Access denied for user ‘fcq’@’localhost’ (using password: YES)”)

通过启动 mysql 服务, 发现 用户名和密码都正确并且可以使用。由于Mysql 8.0 的部分语法,密码的加密方式发生了改变,在8.0 中的用户密码采用的是cha2 加密方法。有可能 是 Django 对这种加密的密码进行编译导致密码设置密码错误。ALTER USER ‘root’@‘127.0.0.1’ IDENTIFIED WITH mysql_native_password BY ‘password’;在Mysql 8.0 中,利用上述语句可以更新用户的加密方式为过去版本的方式。执行命令如下:mysql -u root -puse mysql;ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’; FLUSH PRIVILEGES; 修改密码以后,重新执行python manage.py makemigrationspython manage.py migrate问题解决!
https://blog.csdn.net/hellenlee22/article/details/90475849

2.ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

https://blog.csdn.net/lmss82/article/details/4414178/

3.ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory 解决办法…

centos python django
find / -name libmysqlclient.so.20.1.0
例如,文件在/opt/mysql/lib/ 目录下,找到 libmysqlclient.so.20.1.0 文件,然后做一个软连接:
ln -s /opt/mysql/lib/libmysqlclient.so.20.1.0 /usr/lib64/libmysqlclient.so.20

4 django.db.utils.OperationalError: (1045, “Access denied for user ‘fcq’@’localhost’ (using password: YES)”)

mysql -u root ;
登陆
确定用户创建
查询
mysql> select user,pasword from mysql.user;
查询用户名和密码是否正确。,

5.django.db.utils.ProgrammingError: (1064, “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(6) NOT NULL)’ at line 1”)

jango链接mysql数据库报错1064

D:\PycharmProjects\autotest>python manage.py makemigrations
django.db.utils.ProgrammingError: (1064, “You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syn
tax to use near ‘SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED’ at line
1”)

在autotest目录的init.py 已经添加以下两行:

  1. import pymysql
  2. pymysql.install_as_MySQLdb()
  3. #settings.py中修改为如下内容:
  4. DATABASES = {
  5. 'default':
  6. {
  7. 'ENGINE': 'django.db.backends.mysql',
  8. 'NAME': 'autotest',
  9. 'USER': 'root',
  10. 'PASSWORD': '123456',
  11. 'HOST': '127.0.0.1',
  12. 'PORT': '3306',
  13. 'OPTIONS': {'isolation_level': None}
  14. }
  15. }

经后来才想起来是不明Django版本问题,因为之前安装一个软件包,自动升级了Django的版本,由1.8.3升级到2.1,后来网上查了资料,真的是Django的版本问题,查了官方文档,Django2.1只支持mysql5.6以上的版本!https://www.cnblogs.com/xxoome/p/8313453.html
官方安装文档
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

先查看已经安装的rpm包
rpm -qa|grep mysql
mysql-libs-5.1.73-8.el6_8.x86_64 mysql80-community-release-el7-1.noarch
使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些已启用或已禁用:
$> yum repolist all | grep mysql

卸载不需要rpm包
yum remove mysql-libs-5.1.73-8.el6_8.x86_64
yum remove mysql80-community-release-el7-1.noarch
您可以通过以下命令检查 MySQL Yum 存储库是否已成功添加:
$> yum repolist enabled | grep “mysql.-community.
要安装最新 GA 系列的最新版本,无需配置。要安装最新 GA 系列以外的特定系列的最新版本,请在运行安装命令之前禁用最新 GA 系列的子存储库并启用特定系列的子存储库。如果您的平台支持 yum-config-manager,您可以通过发出以下命令来做到这一点,这些命令会禁用 5.7 系列的子存储库并启用 5.6 系列的子存储库:
$> sudo yum-config-manager —disable mysql57-community
$> sudo yum-config-manager —enable mysql56-community

2. Install MySQL by the following command:

yum install mysql-community-server
如果你只想安装 mysql client 或者 mysqldump 等,可执行如下命令

Start the MySQL server with the following command:
systemctl start mysqld.service
Check the status of the MySQL server with the following command:
systemctl status mysqld.service

3. 安装后的 MySQL 配置文件位置

/etc/my.cnf

4. 如何卸载 MySQL

4.1 查看已安装的 MySQL
rpm -qa | grep -i mysql


sudo mysql -uroot -p

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;

6 ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ‘’root’’@’’localhost’’

sudo vim /etc/mysql/debian.cnf 我们会看用户和密码信息。

https://cloud.tencent.com/developer/article/1720900

参考

install
https://www.cnblogs.com/opsprobe/p/12006492.html
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
Centos7使用yum命令安装Mysql5.6.X
https://blog.csdn.net/weixin_36168780/article/details/113556132
https://www.cnblogs.com/cpl9412290130/p/9583868.html

error
https://blog.csdn.net/lmss82/article/details/4414178/
https://blog.csdn.net/hellenlee22/article/details/90475849