1.1 installation de MySQL et configuration de base (CentOS 7.3)
Installation URL Référence: https://www.cnblogs.com/jorzy/p/8455519.html
1, pour voir si le système a été installé le service MySQL: Voici deux façons
rpm -qa | grep mysql
yum liste installée | grep mysql
2, si elle est installée MySQL supprimer ses dépendances
yum -y supprimer mysql-libs.x86_64
3, télécharger mysql57-communauté libération el7-8.noarch.rpm source de YUM
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
4, l'installation mysql57 communautaire libération el7-8.noarch.rpm
rpm -ivh mysql57-communauté libération el7-8.noarch.rpm
Après l'installation, donner les deux packages suivants:
mysql-community.repo
mysql-communauté source.repo
5, le MySQL d'installation, il invite, à la fin, tout le chemin à Y
yum install mysql-server
6, requis pour installer les bibliothèques de MySQL et inclure des fichiers
yum -y install mysql-devel
7, pour obtenir le mot de passe initial mysql
le service mysqld start
grep "mot de passe" /var/log/mysqld.log
8, gestion mysql commandes fréquemment utilisées
état systemctl mysqld
systemctl démarrage mysqld
systemctl arrêt mysqld
9, botte
systemctl activer mysqld
systemctl démon-reload
10, Mysql Après une installation réussie, le mot de passe root par défaut est vide, vous pouvez vous connecter directement
-p-uroot-MySQL
mysqladmin -u root password "1" # utilisateur root mot de passe de configuration: 1
MySQL-uroot - p1 # Après avoir configuré le mot de passe doit se connecter mot de passe
1.2 MySQL de caractères par défaut et modifier le moteur
1. installation MySQL créer des tableaux à l' aide de la clé étrangère a échoué parce que le moteur ne fonctionne pas par défaut
2. à MySQL insert chinois trouvés brouillé, parce que le jeu de caractères par défaut ne fonctionne pas
afficher les variables comme « caractère% », caractère par défaut # Voir MySQL ensemble
3. La solution est de modifier le fichier de configuration de MySQL vim /etc/my.cnf
/etc/my.cnf Vim # contenu en dessous de leur contenu est ajouté [mysqld] par défaut -Stockage-Engine = INNODB default_character_set = UTF8 la character_set_server = UTF8 [le mysqld_safe] par défaut -CHARACTER-SET = UTF8 [Client] par défaut -character- = SET UTF8 [le mysql.server] par défaut -CHARACTER-SET = UTF8 [MySQL] par défaut -CHARACTER-SET = UTF8
4. Questions de visage: Quel est votre moteur de stockage de base de données utilisé? La différence est?
1. Common sont MyISAM et InnoDB.
2. InnoDB : soutien des contraintes de clés étrangères, prennent en charge l'opération. L'indice est traité individuellement, sans référence à un indice.
3. MyISAM : ne supporte pas la clé étrangère, il ne supporte pas les transactions, lorsque de grandes quantités d'importation de données, il sera inséré dans le bord latéral indexation des données.
Ainsi, afin d'améliorer l'efficacité, vous devez désactiver l'index, l'index ouvert après une importation complète
1.3 MySQL créer utilisateur et autorisation
1. Créez un utilisateur
1. commande : CREATE USER 'username'@'host' IDENTIFIED BY 'password';
1, nom d' utilisateur: nom d' utilisateur vous créerez
2, hôte: Indique que l'utilisateur peut ouvrir une session sur laquelle hôte, si elle est disponible localement à l'utilisateur localhost, si vous voulez que l'utilisateur peut se connecter depuis un hôte distant, vous pouvez utiliser des caractères génériques%
3, mot de passe : mot de passe de connexion de l'utilisateur, le mot de passe peut être vide, si vide, l'utilisateur peut se connecter sans un serveur de mot de passe
2, un exemple
. 1, l'CREER USER ' tom ' @ ' localhost ' la identified by '123456'; # tom autorisé à se connecter depuis localhost
2, l'CREER USER ' jack ' @ ' 1.1.1.100 ' BY IDENTIFIÉ '123456'; prise # permet à l'hôte de 1.1.1.100 journal
. 3, la créer l'utilisateur « fly » @ « % » BY IDENTIFIÉ « 123456 »; # autorisé à se connecter depuis une mouche hôte
4, mysql -h 1.1.1.3 -P 3306 jack -u -p123456 # connexion jack de MySQL 1.1.1.100
5, mise à jour mysql.user ensemble authentication_string = MOT DE PASSE ( 'Chnsys @ 2016') où l'utilisateur = 'opwf'; # changement mot de passe
2. autorisation
1. 命令 : SUBVENTION privilèges SUR databasename . tablename TO 'nomutilisateur' @ 'hôte'
1, privilèges: une autorité d'exploitation de l' utilisateur, telles que SELECT, INSERT, UPDATE, etc., si vous souhaitez accorder des autorisations d'utiliser ALL
2, DatabaseName: nom de la base
3, nom_table: nom de la table, si vous souhaitez accorder à l'utilisateur pour toutes les bases de données et tables * autorité disponible une commande est représentée comme *. *
2. Exemples
1, GRANT la SELECT , INSERT SUR testdb . Étudiant le 'tom' TO @ '% de '; # autorisé les enquêtes et les toms et l' autorisation d' insertion testdb base de données
2, GRANT ALL ON * . * Le 'TO jack ' @ ' % '; # prise d'autorisation pour toutes les bases de données, toutes les tables de toutes les autorisations
3, les autorisations de visualisation
1, montrent des subventions pour « tom » @ « localhost »; # Voir les privilèges de l'utilisateur tom sur l'hôte 1.1.1.100
2, montrent des subventions pour la racine; # Voir les privilèges de l'utilisateur root
4, revoke
1, REVOKE tout sur * * FROM 'tom' @ '%' ;. # Tom toutes les bases de données, révoquer toutes les tables, toutes les autorisations
# 1, créez un utilisateur Créer l'utilisateur ' mup ' @ ' % ' Identifié par ' mup_yiducloud ' ; # 2, l' autorité accordée utilisateur subvention mup pour fonctionner mup base de données GRANT ALL ON mup * TO. ' Mup ' @ ' % ' ; flush privileges ; hôte SELECT, utilisateur de la mysql.user; # . 3, l'utilisateur supprimer la supprimer le dU = le mysql.user le cas où l'utilisateur « MUP » et l'hôte = « localhost »; la supprimer le de la mysql.user le cas où l'utilisateur = « MUP »; # 4,修改racine密码 mise à jour mysql.user ensemble authentication_string = mot de passe ( ' mysqlRootPwd ' ) où user = ' root ' et Host = ' localhost ' ;
1.4 mysql erreur courante
1, ERROR 1819 (HY000): Votre mot de passe ne satisfait pas aux exigences de la politique actuelle
# MySQL -u root -p # Log # MySQL> SET, Ltd Rejoignez libre validate_password_policy = 0; # force de mot de passe au plus bas niveau # MySQL> SET, Ltd Rejoignez libre validate_password_length = 4; mot de passe # permet une longueur minimale de 4 # MySQL> flush privileges; autorisation # mise à jour table, prennent effet
2, ERROR 1044 (42000): Accès refusé pour l'utilisateur 'root' @ 'localhost' à la base de données 'bsp'
Référence Adresse: https://blog.csdn.net/slovyz/article/details/52182283
1. La raison donnée
1. En fait, il faut dire que , fondamentalement , my.cnf parce qu'il ya skip-name-resolve ce paramètre provoque paramètre qui ne peut pas être le nom d' hôte résolu Connexion ou autrement;
2. Alors connectez - vous pour tous les utilisateurs, ne prennent pas le temps pour correspondre à la racine @ 'localhost', ou 127.0.0.1 ou :: 1 , mais il a gardé racine marche @ '%';
2, la solution
# 1, vérifiez si l'utilisateur root dans chaque mode a accorder l' autorisation MySQL> SELECT Grant_priv de l'utilisateur WHERE Host = ' 127.0.0.1 ' ; + ------------ + | Grant_priv | + - + ----------- | N | + ----------------------- + 1 ligne. dans SET (0.00 sec) MySQL > SELECT Grant_priv de l' utilisateur où l'hôte = ' localhost ' ; + ----------------------- + | Grant_priv | + ----------------------- + | N | + ----------------------- + . 1 rangée dans SET (0,01 s) # 2, sans redémarrer le service de MySQL, il suffit d'ajouter le paramètre -h lors de la connexion . (A) / usr / local / MySQL / bin / MySQL -uroot - p123456 - H localhost . (B) / usr / local / MySQL / bin / MySQL -uroot - p123456 -h127.0.0.1 # . 3, les modifications de l' utilisateur le droit d'avoir la permission accorder l' autorisation MySQL> Mise à jour utilisateur SET Grant_priv = ' Y ' où l'hôte = ' 127.0.0.1 ' ; MySQL > Mise à jour utilisateur SET Grant_priv = ' Y ' où l'hôte = ' localhost ' ; MySQL > les privilèges de chasse; # . 4, sortie connexion en tant que root, puis faites fonctionner
3, ERROR 1045 (28000): Accès refusé pour l'utilisateur 'opwf' @ 'localhost' (en utilisant le mot de passe: OUI)
Référence Adresse: https://www.cnblogs.com/bk7788/p/6388562.html
1. La raison donnée
1. L'idée générale est que vous avez un nom de compte utilisateur est vide, MySQL va d'abord correspondre, et vous avez le mot de passe incorrect rapide, supprimer l'utilisateur anonyme, puis exécutez FLUSH PRIVILEGES;
SUPPRESSION DE mysql.user où l'utilisateur = « »;
FLUSH PRIVILEGES