自动安装MySQL脚本
在Linux 上安装MySQL单实例SHELL脚本
在CentOS 6.5环境测试通过
#!/bin/bash user=mysql group=mysql port=3306 basedir=/usr/local/mysql datadir=/data/mysql/mysql_${port}/data sourcefile=$1 mysqlprofile=/etc/my.cnf logfile=/tmp/mysqlinstall.log nowtime=`date '+%Y-%m-%d %H:%M:%S'` retval=0 Usage(){ nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:Usage: `basename $0` MySQL_Source_File\e[m" } if [ $# != 1 ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:INPUT ARGUMENTS ERROR!\e[m" Usage exit 1 fi [ ! -d $basedir ]&& mkdir -p $basedir [ ! -d $datadir ]&& mkdir -p $datadir content=`ls $basedir` if [ "x$content" != "x" ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:'$basedir' IS NOT NULL.\e[m" exit 1 fi content1=`ls $datadir` if [ "x$content1" != "x" ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:'$datadir' IS NOT NULL.\e[m" exit 1 fi check_port=`netstat -na |grep ":${port}" |awk '{print $4}' |grep ":${port}"` if [ "x$check_port" != "x" ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:'$port' PORT ALREADY USED!\e[m" exit 1 fi if [ ! -f $sourcefile ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:'$sourcefile' IS NOT EXISTS.\e[m" Usage exit 1 else nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:Extract MySQL Install File.\e[m" tar xzf $sourcefile --strip-components 1 -C $basedir retval=$? nowtime=`date '+%Y-%m-%d %H:%M:%S'` [ $retval -eq 0 ] && echo -e "\e[0;36m${nowtime}[INFO]:Extract MySQL Install File Complete.\e[m" fi if [ $retval -ne 0 ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:Extract File ERROR,Please Check Your Package.\e[m" echo 1 fi #create group if not exists egrep "^$group" /etc/group >& /dev/null if [ $? -ne 0 ] then groupadd $group nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:Add Group...\e[m" fi #create user if not exists egrep "^$user" /etc/passwd >& /dev/null if [ $? -ne 0 ] then useradd -g $group $user nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:Add User...\e[m" fi #Create my.cnf datapath=${datadir%/*} [ ! -d "${datapath}/tmp" ] && mkdir -p ${datapath}/tmp [ ! -d "${datapath}/logs" ] && mkdir -p ${datapath}/logs if [ ! -f $mysqlprofile ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:Starting Create my.cnf.\e[m" cat > $mysqlprofile <<EOF [client] port = 3306 socket = /tmp/mysql.sock # The MySQL server [mysqld] # Basic port = $port user = $user basedir = $basedir datadir = $datadir tmpdir = $datapath/tmp socket = /tmp/mysql.sock log-bin = $datapath/logs/mysql-bin log-error = $datapath/logs/error.log slow-query-log-file = $datapath/logs/slow.log skip-external-locking skip-name-resolve log-slave-updates server-id =2163306 explicit_defaults_for_timestamp = 1 character-set-server = utf8 slow-query-log binlog_format = mixed max_binlog_size = 128M binlog_cache_size = 1M expire-logs-days = 5 back_log = 500 long_query_time=1 max_connections=1100 max_user_connections=1000 max_connect_errors=1000 wait_timeout=100 interactive_timeout=100 connect_timeout = 20 slave-net-timeout=30 max-relay-log-size = 256M relay-log = relay-bin transaction_isolation = READ-COMMITTED performance_schema=0 #myisam_recover key_buffer_size = 64M max_allowed_packet = 16M #table_cache = 3096 table_open_cache = 6144 table_definition_cache = 4096 sort_buffer_size = 128K read_buffer_size = 1M read_rnd_buffer_size = 1M join_buffer_size = 128K myisam_sort_buffer_size = 32M tmp_table_size = 32M max_heap_table_size = 64M query_cache_type=0 query_cache_size = 0 bulk_insert_buffer_size = 32M thread_cache_size = 64 #thread_concurrency = 32 thread_stack = 192K skip-slave-start # InnoDB innodb_data_home_dir = $datadir innodb_log_group_home_dir = $datapath/logs innodb_data_file_path = ibdata1:1G:autoextend innodb_buffer_pool_size = 500M #48G #innodb_buffer_pool_size = 33G innodb_buffer_pool_instances = 8 #innodb_additional_mem_pool_size = 16M innodb_log_file_size = 1024M innodb_log_buffer_size = 16M innodb_log_files_in_group = 3 innodb_flush_log_at_trx_commit = 0 innodb_lock_wait_timeout = 10 innodb_sync_spin_loops = 40 innodb_max_dirty_pages_pct = 90 innodb_support_xa = 0 innodb_thread_concurrency = 0 innodb_thread_sleep_delay = 500 innodb_file_io_threads = 4 innodb_concurrency_tickets = 1000 log_bin_trust_function_creators = 1 innodb_flush_method = O_DIRECT innodb_file_per_table innodb_read_io_threads = 16 innodb_write_io_threads = 16 innodb_io_capacity = 2000 innodb_file_format = Barracuda innodb_purge_threads=1 innodb_purge_batch_size = 32 innodb_old_blocks_pct=75 innodb_change_buffering=all innodb_stats_on_metadata=OFF [mysqldump] quick max_allowed_packet = 128M #myisam_max_sort_file_size = 10G [mysql] no-auto-rehash max_allowed_packet = 128M prompt = '(product)\u@\h [\d]> ' default_character_set = utf8 EOF retval=$? fi nowtime=`date '+%Y-%m-%d %H:%M:%S'` [ $retval -eq 0 ] && echo -e "\e[0;36m${nowtime}[INFO]:Create my.cnf SUCESS.\e[m" #Initializing datadir if [ -d $datapath ];then chown -R mysql:mysql ${datapath%/*} cd $basedir chown -R mysql:mysql * ./scripts/mysql_install_db --user=$user --datadir=$datadir > $logfile 2>&1 retval=$? fi if [ $retval -ne 0 ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:MySQL Initializing FAIL!\e[m" exit 1 fi #Add env variables grep "$basedir/bin" /etc/profile > /dev/null 2>&1 if [ $? -ne 0 ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo "export PATH=\$PATH:$basedir/bin">>/etc/profile source /etc/profile fi #start mysql if [ ! -f "/etc/init.d/mysqld" ];then cp $basedir/support-files/mysql.server /etc/init.d/mysqld /etc/init.d/mysqld start >/dev/null 2>&1 retval=$? fi if [ $retval -eq 0 ];then $basedir/bin/mysqladmin -u root password '123456' 2> $logfile nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:Starting MySQL.. SUCCESS!\e[m" retval=0 else nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:Starting MySQL.. FAIL!\e[m" exit 1 fi #setting account security if [ $retval -eq 0 ];then mysql -uroot -p123456 2>/dev/null <<EOF GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; delete from mysql.user where password = ''; FLUSH PRIVILEGES; EOF retval=$? fi nowtime=`date '+%Y-%m-%d %H:%M:%S'` [ $retval -eq 0 ] && echo -e "\e[0;36m${nowtime}[INFO]:MySQL INITIAL PASSWORD SUCCESS!\e[m" if [ $retval -eq 0 ];then nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[INFO]:MySQL INITIAL PASSWORD: 123456 \e[m" echo -e "\e[0;36m${nowtime}[INFO]:MySQL Basedir: $basedir \e[m" echo -e "\e[0;36m${nowtime}[INFO]:MySQL Datadir: $datadir \e[m" echo -e "\e[0;36m${nowtime}[INFO]:MySQL Install Complete. \e[m" else nowtime=`date '+%Y-%m-%d %H:%M:%S'` echo -e "\e[0;36m${nowtime}[ERROR]:Change MySQL Password FAIL!\e[m" fi

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

NAVICAT pour MARIADB ne peut pas afficher directement le mot de passe de la base de données car le mot de passe est stocké sous forme cryptée. Pour garantir la sécurité de la base de données, il existe trois façons de réinitialiser votre mot de passe: réinitialisez votre mot de passe via Navicat et définissez un mot de passe complexe. Affichez le fichier de configuration (non recommandé, haut risque). Utilisez des outils de ligne de commande système (non recommandés, vous devez être compétent dans les outils de ligne de commande).

MySQL et SQL sont des compétences essentielles pour les développeurs. 1.MySQL est un système de gestion de base de données relationnel open source, et SQL est le langage standard utilisé pour gérer et exploiter des bases de données. 2.MySQL prend en charge plusieurs moteurs de stockage via des fonctions de stockage et de récupération de données efficaces, et SQL termine des opérations de données complexes via des instructions simples. 3. Les exemples d'utilisation comprennent les requêtes de base et les requêtes avancées, telles que le filtrage et le tri par condition. 4. Les erreurs courantes incluent les erreurs de syntaxe et les problèmes de performances, qui peuvent être optimisées en vérifiant les instructions SQL et en utilisant des commandes Explication. 5. Les techniques d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'améliorer la lisibilité du code.

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).
